You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API获取带指标的TradingView指定交易对图表快照?

解决方案:获取TradingView带指标的图表快照(无官方API时的替代方案)

1. 无头浏览器渲染方案

这是最可控的落地方式,适配Telegram Bot开发场景:

  • 用Puppeteer(Node.js)或Playwright这类无头浏览器工具,模拟加载配置好的TradingView图表页面
  • 核心步骤:
    • 构造目标图表URL:在TradingView网页端手动配置好指定交易对、指标、时间周期后,点击「分享」按钮获取包含所有配置参数的共享链接
    • 启动无头浏览器打开该链接,等待图表完全渲染完成(可通过监听图表容器元素或设置网络空闲等待)
    • 定位图表区域(通常类名为tv-chart-view的容器)进行截图,生成图片文件
    • 调用Telegram Bot API的sendPhoto方法,将截图发送给用户
  • 示例代码片段(Puppeteer + Telegraf):
const puppeteer = require('puppeteer');
const { Telegraf } = require('telegraf');

const bot = new Telegraf('你的Telegram Bot Token');

bot.command('btcchart', async (ctx) => {
  const browser = await puppeteer.launch({ headless: 'new' });
  const page = await browser.newPage();
  // 替换为你提前配置好的带指标的TradingView共享链接
  await page.goto('https://www.tradingview.com/chart/xxxx/?symbol=BINANCE:BTCUSDT&interval=1D', { waitUntil: 'networkidle0' });
  const chartElement = await page.$('.tv-chart-view');
  const screenshotBuffer = await chartElement.screenshot();
  await browser.close();
  await ctx.replyWithPhoto({ source: screenshotBuffer });
});

bot.launch();
  • 注意事项:需处理页面加载超时、元素定位失败的异常;服务器环境要安装无头浏览器依赖(如Linux下的libnss3等库);避免高频请求触发TradingView反爬限制

2. 第三方自动化截图服务

如果不想维护无头浏览器环境,可以选择支持动态网页截图的第三方服务:

  • 这类服务提供API接口,传入TradingView共享链接和截图参数,即可返回图片二进制数据或链接
  • 拿到图片后直接通过Telegram Bot API发送即可
  • 关键提示:优先选择支持等待动态内容加载的服务,确保图表渲染完成后再截图

重要提示

TradingView的共享链接会完整保存所有图表配置(交易对、指标、画线、时间周期等),无需手动拼接参数,直接复用网页端配置好的链接即可。

内容的提问来源于stack exchange,提问作者Juk Lero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:45:11