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


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

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

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

    {"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!  (日本语禁止访问)

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

      

    运行后正常显示:

    import requests
    url = 'https://hq.sinajs.cn/list=CON_ZL_10004288'  # 带有ZL表示为主力合约
    headers = {
         'Host': 'hq.sinajs.cn',
         'Referer': 'https://stock.finance.sina.com.cn',
         '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'
    }
    r = requests.get( url, headers=headers, timeout = 5)
    print(r.text)

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

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

    按F5刷新,可以发现,第一个list中即包含了上述代码,

     网址,我们也就很可以的拿到啦

      

     UP为认购合约,DOWN为认沽合约。

    测试一下,显示正常。

    这样我们就可以把上面的代码整合一下,然后进行爬取,并保存的本地了。 

  • 相关阅读:
    php 三元运算符简洁用法
    Linux 获取网卡信息
    《构建之法》读后感
    毫秒数据字符串转换为DateTime
    POST请求——HttpWebRequest
    多个不同类对象传输思路
    WCF 大文件传输配置
    WCF配置文件详解
    C# 元组、匿名对象、ref&out
    C#控制台关闭之前做一些操作
  • 原文地址:https://www.cnblogs.com/adam012019/p/16359778.html
Copyright © 2020-2023  润新知