第六周任务

这次的任务是对国际现货与期货石油价格、美元人民币汇率、美元指数等数据的实时监控,采样频率为一小时一次。

因为我对国际现货与期货石油价格不是很清楚,这次就只是对美元人民币汇率、美元指数进行了操作。

1.在http://finance.sina.com.cn/money/forex/hq/DINIW.shtml?qq-pf-to=pcqq.c2c上提取数据可得

便可使用相应正则表达式提取所需rate  = re.compile('var hq_str_USDCNY=".*?,(.*?),.*?";')
 dollar = re.compile('".*?,(.*?),.*?";')

2.将得到的数据存入数据库即可

#__author__ = 'lenove'
#coding:utf-8
import urllib
import urllib2
import requests
import re
import MySQLdb
import time
url1 = 'http://hq.sinajs.cn/?rn=1417610216083&list=USDCNY'
url2 = 'http://hq.sinajs.cn/?rn=1417610565584&list=DINIW'

html1 = requests.get(url1)
html2 = requests.get(url2)

rate = re.compile('var hq_str_USDCNY=".*?,(.*?),.*?";').findall(html1.text)
dollar = re.compile('".*?,(.*?),.*?";').findall(html2.text)

value = []
value.append(rate[0].encode('utf-8'))
value.append(dollar[0].encode('utf-8'))

try:
    cxn = MySQLdb.connect(host='localhost', user='root', passwd='wszgr728',db='test')
except:
    print "Could not connect to MySQL server."
    exit(0)

cur = cxn.cursor()
cur.execute("CREATE TABLE RESULT(rate VARCHAR(8),dollar VARCHAR(8))")

while 1:
    cur = cxn.cursor()
    cur.execute("INSERT INTO result values(%s,%s)",value)
    cxn.commit()
    print 'writing...'
    time.sleep(3600)

cxn.close()

运行一次得到结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值