python抓取A股市场历史数据(个股、指数)

您所在的位置:网站首页 沪市指数历史数据分析 python抓取A股市场历史数据(个股、指数)

python抓取A股市场历史数据(个股、指数)

2023-07-25 18:37| 来源: 网络整理| 查看: 265

@抓取金融市场数据

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 and rtime11: fout.write(res[0]) for j in range(3,len(res)): fout.write("\t"+res[j]) fout.write("\n") fout.flush() iget=iget+1 fout.close return iget

抓取的每一个CODE,一个独立存储的文件,每行是一天的数据,第一列是日期。

大盘指数

a股的主要指数也都可以通过163的接口获得,指数的列表信息可以从天天基金网获取: http://quote.eastmoney.com/center/hszs.html 指数很多,其实关键就看几个就行,比如沪深300,相当于把握大盘。

000001 上证指数,上证综合 sh000001 399001 深证成指 sz399001 000300 沪深300 sh000300 399005 中小板指 sz399005 399006 创业板指 sz399006 000010 上证180 sh000010 000016 上证50 sh000016 000009 上证380 sh000009 000132 上证100 sh000132 000133 上证150 sh000133 000003 B股指数 sh000003 000012 国债指数 sh000012 000905 中证500 sh000905

以上是我抓的几个常用指数,用来看看大盘、决策指数基金应该差不多啦。

待续, 后面还有抓基金的。 在动荡和不可解释的A股市场,没有内幕消息的小玩家先从货币基金和指数基金入手,再成熟点可以选些优质基金,让优秀的基金经理帮咱赚钱呀。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3