标签:
看了很小清新应用(火柴盒,一个,阅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