标签:
看了很小清新应用(火柴盒,一个,阅FM),自己也想做一把文艺青年,做一个文艺应用,但是没有数据,只能自己去爬了,打开阅FM网站和Fildder
逐个分析链接,发现了上图圆圈里的链接,复制到浏览器中打开,不正是我们想要的吗
多次尝试可以发现,这个链接每次返回的结果都是不一样的,所以有这一个链接就够了,下面的工作就是获取数据,然后保存到数据库中了。
db.py
import MySQLdb def connectDb(): conn = MySQLdb.connect(host='localhost',user='root',passwd='',db='yuefm',port=3306,charset='utf8') cur = conn.cursor();#获得游标 return conn,cur; def insertDb(conn,cur,data): sql = "insert into yuefm (body,short_id,title,is_liked,source,likes,is_opened,date_created,int_id,id) values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')" % (data[0],data[1],data[2],data[3],data[4],data[5],data[7],data[6],data[8],data[9]) try: # 执行sql语句 cur.execute(sql) # 提交到数据库执行 conn.commit() print data[1]+"-------------success" except: # 发生错误时回滚 conn.rollback() print 'error' # 关闭数据库连接 conn.close()
main.py
# -*- coding: utf-8 -*- import urllib import json import db import threading import time def timer(): t = threading.Timer(5,startTask) #每5s执行一次任务 t.start() def startTask(): path = "http://yue.fm/api/articles/random" result = urllib.urlopen(path).read() jsonval=json.loads(result) #获取返回的json结构 data= jsonval.values() conn,cur = db.connectDb() db.insertDb(conn,cur,data) #插入数据 timer() if __name__ == '__main__': timer() while True: time.sleep(1)
标签:
原文地址:http://blog.csdn.net/iloster/article/details/44043855