编程语言
首页 > 编程语言> > python爬取新浪财经股票期权行情数据

python爬取新浪财经股票期权行情数据

作者:互联网

想要弄点期权数据,要求高的可以找收费的数据服务商,例如wind,东方财富,后者便宜点,tushare也提供了期权行情数据,但是门槛是有积分限制,其他的地方只能爬取了。 做期权策略分析没有数据怎么行,如果没钱就写一个吧。 新浪财经股票期权数据每秒更新4次(有人这么说,我也不知道怎么测试),全网更新最快,很多网站都使其数据,作为老牌互联网公司,稳定性也比较可靠。   期权网站:https://stock.finance.sina.com.cn/option/quotes.html

Ctrl+U,查看页面源代码,

找到期权合约月份:Option_select: http://stock.finance.sina.com.cn/futures/api/openapi.php/StockOptionService.getStockName

 

 

1 {"result":{"status":{"code":0},"data":{"cateList":["50ETF","50ETF","300ETF"],"contractMonth":["2022-06","2022-06","2022-07","2022-09","2022-12"],"stockId":"510050","cateId":"510050C2206A02950"}}}

 

F12,打开开发者工具模式,待自动更新后,我们发现要提取的链接:

 

 

    

查看标头,URL :https://hq.sinajs.cn/list=CON_ZL_10004288

 这是单个期权合约的信息,但是当我打开这个链接时,出现如下情况: Kinsoku jikou desu!  (日本语禁止访问)

 

应该是反爬虫措施,把请求标头这一堆加上再试试

 

 

 

 

运行后正常显示:

 

 

 

 

 1 import requests
 2 
 3 url = 'https://hq.sinajs.cn/list=CON_ZL_10004288'
 4 
 5 headers = {
 6 
 7     'Host': 'hq.sinajs.cn',
 8     'Referer': 'https://stock.finance.sina.com.cn',
 9     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.30'
10 }
11 
12 r = requests.get( url, headers=headers, timeout = 5)
13 
14 print(r.text)

 

下面,只有找到所有期权的代码,然后在在网址“https://hq.sinajs.cn/list=”+“期权代码”即可找到所有期权的信息啦

 

 

 

我们发现这一堆数据和期权行权价数据个数相等,应该就是期权认沽或认购期权列表了,提取其代码进行测试即可

 

 

 

标签:sinajs,cn,python,hq,爬取,2022,https,期权
来源: https://www.cnblogs.com/adam012019/p/16359778.html