【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
不想写代码的话,翻到文章底部有现成的下载工具。
除了通过第三方接口获取股票的历史收盘价之外,我们还可以自己通过抓取的方式获取。
我们以某财经网站为例,股票的历史收盘价是这样的: 从图片上能看出,股票历史收盘价是按照年-季度的方式加载的,每年的每个季度的链接都是不一样的。
简单列一下:
- 根据年、季度来拼接出来历史收盘价的链接。例如2020年1季度和2020年2季度的链接是不一样的,但是链接中也只有这两个数字不一样,其它都相同。
- 解析出每天的历史收盘价
- 保存到Excel或者数据库
import requests,re,pandas
# 这里年月都可以用datatime来实现,这里就直接写出来了。
year = [2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020]
month = [1,2,3,4]
base_url = 'https://www.baidu.com/' # 假设要抓取的网站是百度
one_list = []
arry_list = []
for y in year:
for m in month:
y_m =f'{y}-{m}'
response = requests.get(f'{base_url}?{y_m}') # 这里获取到了2010年1季度的源码,依次循环会获取到2020年4季度。
close_price = re.findall('(\d+)',response.text) # 这里通过正则解析除了股票的历史收盘价
one_list.append(close_price)
arry_list.append(one_list)
df = pandas.DataFrame(a, columns=['open_price', 'close_price', 'vol'])
wt = ExcelWriter(path) # path 是文件的保存路径,要精确到文件名
df.to_excel(wt, sheet_name='如何下载股票的历史收盘价' , index=False)
以上就可以把一个股票的历史收盘价都保存到Excel了,还是比较简单的。
不想写代码的直接扫下面二维码,自助下载,没有限制条件,2秒完成。
来源:oschina
链接:https://my.oschina.net/zdnyp/blog/3155660