请教怎么把 tradingview 上的图表用 Python 爬下来?

2017-11-17 21:11:26 +08:00
 jahan
https://www.tradingview.com/chart/f8my3Ybg/
例如上面这种,怎么爬呢?
6320 次点击
所在节点    Python
14 条回复
cnleoyang
2017-11-17 21:20:53 +08:00
应该可以直接获取图片格式的链接。若要获取数据,猜测可能需要分析网页 chart 所加载的数据。
imgalaxy
2017-11-17 21:25:38 +08:00
直接捅接口啊
p2pCoder
2017-11-17 21:45:59 +08:00
这个很蛋疼,因为一般来说 时间序列作图,返回的事 json,但是这个是用 svg 的方式画的,你主要要分析下
https://www.tradingview.com/static/bundles/main_chart.{可能是随机数}.js

https://www.tradingview.com/static/bundles/widgetbar.{可能是随机数}.js
这两个里面应该有图表的数据

对于爬去这样 你一眼 看不出是哪个 http 请求的数据 你可以 找到 图像中的 点 数据,然后 使用
chrome 的 search all files 找到 可能对应的 源文件
jahan
2017-11-17 21:48:50 +08:00
@imgalaxy 怎么直接捅接口?

@cnleoyang 到不需要获取数据,如果能够直接获取图片也是可以的,毕竟不需要多精确。

@p2pCoder 我这可能不需要数据重新做图出来,如果能够做到截图就可以了。

我试试大家的方法,还是一头雾水。
p2pCoder
2017-11-17 21:51:56 +08:00
@jahan 这个没法 直接桶接口,这个 是 返回的 js 文件,形成的 svg
如果要数据,就是 把 两个 js 文件 ,看里面 那些数据需要
如果 截图
直接用 selenium 就行
jahan
2017-11-17 21:54:12 +08:00
@p2pCoder 谢谢提示。我去看看这个 pkg
mosliu
2017-11-17 22:00:43 +08:00
headless 截图。。
jahan
2017-11-17 22:04:57 +08:00
@mosliu 能够缩放吗,我可能要截图时间长度很长,10 年左右日线图
jahan
2017-11-17 22:23:12 +08:00
@mosliu headless 和 selenium 可以配合 python 实现批量的截图吧
wakiki
2017-11-18 12:26:29 +08:00
是 Canvas,不是 SVG
jahan
2017-11-18 12:38:27 +08:00
@wakiki 第一次接触,有没有可以参考的例子呢,谢谢
jahan
2017-11-18 12:54:15 +08:00
phantomjs?是不是就是 @mosliu 说的 headless
SCREEN CAPTURE
Programmatically capture web contents, including SVG and Canvas. Create web site screenshots with thumbnail preview. Learn more
mosliu
2017-11-18 13:43:25 +08:00
用 selenium+PhantomJS 应该就能解决吧
phantom 我记得有截屏的。
jahan
2017-11-19 11:05:28 +08:00
@mosliu 是的,现在又有一个问题,这种网页为什么点击 login in,地址栏目都不变化呢,这种情况怎么让 selenium 登陆这个网站?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/407345

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX