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

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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值