python如何爬取东方财富个股周k线的振幅
时间: 2023-05-11 21:01:13 浏览: 203
python股票爬取
要爬取东方财富个股周k线的振幅,我们需要先知道东方财富的数据接口地址,并找到代表振幅数据的字段。
首先,我们可以在东方财富网站上打开我们需要爬取的个股的周K线图页面,然后按F12打开开发者工具,在"Network"选项卡下刷新页面,观察XHR(ajax)请求,找到代表周K线图数据的请求,可以看到请求链接的格式大致如下:
https://pdfm.eastmoney.com/EM_UBG_PDTI_Fast/api/js?id=代码&rtntype=5&start=20191110&end=20201202
其中,id代表股票代码,start和end是起始和截止日期,可以手动修改。
接下来,我们需要对请求链接进行解码,获取返回的数据。我们可以使用Python中的requests和json库进行解码。代码如下:
import requests
import json
url = "https://pdfm.eastmoney.com/EM_UBG_PDTI_Fast/api/js?id=代码&rtntype=5&start=20191110&end=20201202"
resp = requests.get(url)
data = json.loads(resp.text)
接着,我们需要对返回的数据进行处理,筛选出振幅数据。可以通过循环遍历每一个周K线数据,然后计算出周振幅:
for kline in data:
open_price = float(kline[1])
close_price = float(kline[2])
high_price = float(kline[3])
low_price = float(kline[4])
amplitude = round((high_price-low_price)/open_price*100, 2)
print(amplitude)
在以上代码中,我们通过对每一个周K线数据的开盘价、收盘价、最高价、最低价进行提取,计算出周振幅(amplitude)。round函数用来保留两位小数。
综上,通过以上代码,我们可以成功爬取到东方财富个股周K线图的振幅数据。需要注意的是,为了确保爬取数据的准确性和可靠性,需要在HTTP请求中加入一些headers信息,以模拟浏览器访问。同时,在请求过程中需要加入适当的错误处理机制。
阅读全文