如何抓取指定类名的表格?以AAPL隐含波动率表格为例
解决OptionCharts.io隐含波动率表格抓取问题
问题原因
直接用requests请求目标页面返回的HTML里没有目标表格内容——该页面的期权统计数据是通过JavaScript动态加载的,数据实际来自后端API接口,而非初始HTML。
解决方案
直接请求页面数据对应的API接口,解析JSON数据后转换为DataFrame:
完整代码
import requests import pandas as pd # 目标API接口(从浏览器开发者工具Network面板获取) api_url = "https://optioncharts.io/api/options/AAPL/statistics" # 请求API,获取JSON数据 response = requests.get(api_url) data = response.json() # 提取隐含波动率相关数据,构造DataFrame iv_data = { "指标": ["Implied Volatility(隐含波动率)"], "数值": [f"{data['impliedVolatility']}%"] } df = pd.DataFrame(iv_data) print(df)
代码说明
- 定位API接口:打开浏览器开发者工具(F12),切换到Network标签,刷新页面后筛选XHR请求,找到返回期权统计数据的接口(即上述
api_url)。 - 请求API:用
requests.get获取JSON格式的原始数据。 - 构造DataFrame:从JSON中提取
impliedVolatility字段,整理成表格结构并转换为DataFrame。
输出示例
指标 数值 0 Implied Volatility(隐含波动率) 17.49%
内容的提问来源于stack exchange,提问作者kappamachine
相关产品推荐
相关产品推荐

