一、交易行情黄金价格(股票,债券,期货,全球大宗等行情同理均可制作接口)
二、资讯信息
主流门户网站信息
华尔街见闻网站的实时新闻事件序列数据
三、财经日历
重大经济数据公布、美联储官员讲话等
四、预期数据
微博指定话题
微博指定搜索
个人微博信息(公开)
五、天气、交通、电影、等等(后续公开)
几点说明
Python 3.5,模块包需要查看代码自行调试(微博数据的账户密码需要填写自己的账户密码)
主要是要看代码里面所体现的处理方法,方能做到举一反三
如果附近代码都搞清楚,网络数据的采集基本能满足70%的科研需求
例子
几点注意
1.需要找到新闻数据的API接口
2.华尔街见闻对时间的算法处理规律
项目过程
1.新闻数据的接口基本格式与时间处理
https://api.wallstreetcn.com/v2/livenews?limit=1000
A这里一直存在个问题没解决即无法获取特点时间段的新闻内容,只能从当前时间往前推limit个条目的内容
B这个js数据基本机构为:
C这个1477719633到底代表那个时刻呢?增1代表增加1秒,经过推算发现0其实对应的就是1971.1.1 08:00:00。Python里面换算就很简单。只要1971.1.1 08:00:00 + datetime.timedelta(seconds=int(数值))即可得到现在时间值
2.创建SQL数据库
A创建表instantnews (time, content)
Btime类型datetime,content类型为varchar
3.Python代码
#!usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = ''
import json
import urllib.request
import datetime
import pymysql
#链接数据库test
conn=pymysql.connect(host=None,user='root',passwd='',db='mysql',charset='utf8')
cur=conn.cursor()
cur.execute('USE test')
#网站默认的最原始时间
starttime=datetime.datetime(1970,1,1,8,0,0)
#读取新闻内容接口
response =urllib.request.urlopen('https://api.wallstreetcn.com/v2/livenews?limit=1000')#可以继续研究两个时间段内的新闻接口代码
http=response.read()
hjson = json.loads(http.decode())
#获取想要的新闻内容和时间
for i in range(0,len(hjson['results'])):#len(hjson['results'])为results整个条目数
time=hjson['results']['createdAt']
content=hjson['results']['contentText']
#print(starttime+datetime.timedelta(seconds=int(time)))
#print(content)
#识别时间
time1=starttime+datetime.timedelta(seconds=int(time))#识别
tim1=datetime.datetime.strftime(time1,'%Y-%m-%d%H:%M:%S')#将时间换算成字符串
#print(datetime.datetime.strftime(time1,'%Y-%m-%d%H:%M:%S'))
cur.execute('INSERT INTO instantnews (time,content) VALUES (\"%s\",\"%s\")',(time1, content))#时间以字符类型存入instantnews
cur.connection.commit()
#关闭数据库
cur.close()
conn.close()
4.结果