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

本文介绍如何使用Python抓取A股市场历史数据,包括个股基本信息和历史交易数据,主要数据源为网易163。内容涵盖Python准备、获取股票列表、抓取个股历史交易信息以及获取大盘指数等步骤。
摘要由CSDN通过智能技术生成

@抓取金融市场数据

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 
  • 7
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 可以使用tushare包获取A股股票历史数据。下面的代码演示如何获取上证指数历史数据:import tushare as ts#获取上证指数历史数据 sh_index = ts.get_hist_data('sh') #打印出获取的数据 print(sh_index) ### 回答2: 要用Python获取A股股票历史数据,首先需要安装并导入tushare库。然后,通过tushare库的get_hist_data函数,可以获取指定股票代码的历史行情数据。 以下是一个代码演示: ```python import tushare as ts # 设置Tushare的token ts.set_token('YOUR_TUSHARE_TOKEN') # 创建Tushare API的对象 pro = ts.pro_api() # 获取指定股票代码的历史行情数据 df = pro.daily(ts_code='股票代码', start_date='起始日期', end_date='结束日期') # 打印获取的数据 print(df) ``` 在代码中,需要用到Tushare提供的API接口,所以首先需要在Tushare官网注册并获取自己的token,并将其替换为`YOUR_TUSHARE_TOKEN`。 在获取历史数据之前,还需要指定股票代码、起始日期和结束日期。将`股票代码`替换为你要获取数据的股票代码,`起始日期`和`结束日期`替换为你要获取的数据的时间范围。 以上代码会将获取的历史数据存储在名为`df`的DataFrame中,并将其打印出来。 请确保在运行代码之前已经安装了tushare库。可以使用以下命令安装tushare库: ```shell pip install tushare ``` 通过以上代码和步骤,就可以用Python获取A股股票历史数据了。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值