码迷,mamicode.com
首页 > 编程语言 > 详细

(python)获取阅FM网站的文章数据

时间:2015-03-03 22:09:58      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

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

技术分享


(python)获取阅FM网站的文章数据

标签:

原文地址:http://blog.csdn.net/iloster/article/details/44043855

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!