使用Python提取Trading View财务图表数据遇JSON解码错误求助
解决TradingView财务数据提取的JSON解码错误
你遇到的问题根源很明确:你请求的https://es.tradingview.com/symbols/NASDAQ-ROIV/financials-earnings/是一个HTML网页地址,返回的是网页源代码,不是JSON格式的数据。直接调用resp.json()自然会解码失败,错误信息翻译如下:
JSON解码错误:期望获取值:第2行第1列(字符1)
要正确提取TradingView的财务数据,得换个思路:
- 先通过浏览器开发者工具抓包:打开目标页面,按下F12进入开发者工具,切换到「网络」面板,刷新页面后筛选「XHR/fetch」类型的请求,找到返回财务数据的真实API接口。
- 模拟浏览器请求头:TradingView会验证请求的合法性,直接用requests请求时,需要带上浏览器的
User-Agent等关键请求头,避免被拦截。 - 示例代码(替换成你抓到的真实API):
import requests # 模拟浏览器请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' } # 替换为抓包得到的真实财务数据API地址 real_api_url = "https://api.tradingview.com/xxx/financials" response = requests.get(real_api_url, headers=headers) financial_data = response.json() print(financial_data)
注意事项:
- TradingView的内部API没有公开文档,地址和结构可能随时变动,需要定期检查。
- 不要频繁发送请求,避免触发反爬机制导致IP被封禁。
内容的提问来源于stack exchange,提问作者VV33
相关产品推荐
相关产品推荐

