如何通过Selenium获取TradingView图表中的黑色表格数据?
TradingView图表内表格数据获取方案
- 排查Canvas渲染的矢量元素:TradingView大量图表元素基于Canvas绘制,你可以通过执行JS代码获取Canvas对象:
driver.execute_script("return document.getElementsByTagName('canvas')"),再分析Canvas的绘制上下文提取文本数据。这种方式需要了解前端Canvas绘制逻辑,适合有基础的开发者。 - 调用TradingView官方API:直接使用官方提供的REST或WebSocket API请求数据是最可靠的方式,无需处理页面渲染问题。去TradingView开发者平台查找对应数据接口,用
requests或websocket库发起请求即可获取原始数据。 - 截图+OCR识别数据:如果表格确实是图像形式渲染,可通过Selenium截取表格区域(
element.screenshot('table.png')),再用Tesseract OCR工具识别截图中的文本。建议先对截图做裁剪、对比度调整等预处理,提升识别精度。 - 挖掘页面隐藏的JS变量:部分网站会把原始数据存在全局JS变量中,而非直接渲染成HTML。执行
driver.execute_script("return window.TradingView")查看全局变量,大概率能找到表格对应的结构化数据。 - 复用书签的渲染逻辑:既然书签能触发完整图表渲染,可解析书签的JS代码,将其在Selenium环境中执行,触发页面加载表格的HTML元素或暴露数据。
内容的提问来源于stack exchange,提问作者Murat Kara
相关产品推荐
相关产品推荐

