【问题标题】:Loading data from a link processed by JavaScript (using a script)从由 JavaScript 处理的链接加载数据(使用脚本)
【发布时间】:2018-11-28 22:09:25
【问题描述】:

我想使用脚本从this page 下载数据

页面上有一个用于将数据导出到 CSV 文件的按钮 - 将数据筛选器导出到 CSV 文件,但它没有我可以使用的链接下载,因为单击此按钮由单击时的 JavaScript 函数处理。

在输出中,我得到以下链接,其中文件blob: https: //www.tradingview.com/1e82c571-fbf7-4cd0-9a4c-8c836263e17

告诉我如何实现从脚本下载文件,例如,写在 NodeJS 上。不要等待完成的代码,至少在你能看到的地方......

提前谢谢大家!

【问题讨论】:

  • 如果你能找到一个 Stock Web API 并从那里获取数据会更好。
  • @Tony 在此页面上,电视会生成信号(评级栏)。这些信号是我需要的,而不仅仅是价格数据。如果问题是关于获得 OHLСV,我不会问任何问题。我需要保存并分析的 CSV
  • 是的,我的意思是,通常这些东西都有一个服务,您可以在其中连接并获取提要。 (我没有投反对票)
  • @Tony 在这种情况下,它计算的是服务本身,而不是其他人。没有其他来源。或者你需要发布所有指标的计算。

标签: node.js parsing web-scraping blob export-to-csv


【解决方案1】:

您可以采取多种方法。

  1. 寻找另一种获取数据的方法。他们可能有一个您可以调用的直接下载 URL 或 API。屏幕抓取是一种获取数据的黑客方式,它可能违反他们网站的许可协议。

  2. 由于下载按钮是基于 JavaScript 的,您可以使用真正的浏览器打开页面并单击按钮。 phantom node wrapper 是您可以将节点脚本与 PhantomJS 连接并自动执行此操作的一种方式。

  3. 可能最简单的做法是使用开发人员工具对单击按钮的操作进行逆向工程,然后在节点代码中执行相同的步骤。例如,您可以查看网络选项卡以查看发出了哪些请求,然后复制这些相同的请求。

【讨论】:

    猜你喜欢
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2016-03-11
    • 2016-08-18
    相关资源
    最近更新 更多