IMPORTHTML抓取MCX期权链报错 如何获取下拉菜单对应数据链接
问题根因
你用=IMPORTHTML("https://www.mcxindia.com/market-data/option-chain#","Table",1)抓取失败、URL只显示#的核心原因是:MCX的期权链页是前端动态渲染的单页,两个下拉菜单选标的、选到期日的操作不会改变页面静态URL,所有期权表格数据都是选完选项后,浏览器异步向服务器发请求拉取的。IMPORTHTML只能抓取页面初始加载的静态HTML源码,初始页面根本没渲染期权表格内容,自然会触发解析错误,拿不到有效数据。
目标合约真实数据链接获取方法
按下面步骤操作就能拿到对应合约的有效数据接口:
- 打开MCX期权链页面,按F12调出浏览器开发者工具,切换到「网络(Network)」面板,筛选类型选「Fetch/XHR」,点面板上的清空按钮把现有请求记录清掉。
- 在页面的两个下拉菜单里,依次选中你需要的交易标的(比如原油)、目标到期月份合约(比如7月到期合约),此时网络面板会抓出页面新发起的所有异步请求。
- 逐个点击这些新增请求,查看「响应(Response)」栏的返回内容,找到包含期权链行权价、看涨/看跌报价、持仓量、成交量等表格字段的请求,这就是你要找的目标合约对应的数据接口。
- 复制该接口的请求信息:如果是GET类型接口,直接复制带完整参数的URL即可;如果是POST类型接口,除了URL还要记下请求体里携带的标的编码、到期日期等必填参数。
使用提示
这类动态渲染的站点,不要直接把页面对外的展示URL喂给
IMPORTHTML这类静态爬取函数,这类函数读不到JS动态加载的内容。如果拿到接口后直接在表格里调用出现跨域限制,可以先写简单脚本请求接口拿到JSON格式的返回数据,解析整理成表格结构再导入即可。

内容的提问来源于stack exchange,提问作者Brijesh
相关产品推荐
相关产品推荐

