A股市场的关键数据
如果不是做短线,在一天内拼瞬时交易锁定投机收益。那每天只取一份数据就可以,用长时间的历史数据做决策分析(机会选择、持有收益计算,及交易策略的评估)。
个股数据与数据源
对于个股数据,可以拆分为个股基本属性信息和历史交易信息。
个股基本信息:可以包括行业、市值、利润、市盈率等中长期属性,这一部分季度/半年一看即可,不用抓取最新。
(从天天基金网抓取)
历史交易数据:每天要抓取最新的数据,累积至少5年的数据(我从2015.01.01开始,抓取5年的数据,网易提供了方便的数据获取接口,从网易可以获得任意长的历史数据,经过比较各家,个股历史数据的抓取还是163最好用)
python准备
工欲善其事必先利其器,数据抓取主要是从各种第三方抓,由于还是非付费用户,所以便捷高效的API是没有,各种网页解析而已。
这部分主要用了requests库和beautifulsoup页面解析库,拿来pip安装一下,然后import即可。
由于有些网页必须渲染后才能抓取,所以也引入了requests-html库,第一次使用的时候会下载一个浏览器内核。
抓取功能封成了function,后续可重用,高级的工具出来也方便替换。
有的网页涉及到动态技术需要渲染后才能抓到我们想要的信息,这部分抓取也要慢一些,单独做了封装。
#外部数据抓取引用库
import requests
from bs4 import BeautifulSoup
from requests_html import HTMLSession
#渲染抓取页面
def get_html_page_render(url):
try:
session=HTMLSession()
r = session.get(url)
r.html.render()
session.close()
return r.html.html
except:
return ""
#直接抓取页面
def get_html_page(url):
try:
rtime=0
res=""
#重试次数最大为8
while len(res)==0