V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jahan
V2EX  ›  Python

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

  •  
  •   jahan · 2017-11-17 21:11:26 +08:00 · 6279 次点击
    这是一个创建于 2352 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://www.tradingview.com/chart/f8my3Ybg/
    例如上面这种,怎么爬呢?
    14 条回复    2017-11-19 11:05:28 +08:00
    cnleoyang
        1
    cnleoyang  
       2017-11-17 21:20:53 +08:00
    应该可以直接获取图片格式的链接。若要获取数据,猜测可能需要分析网页 chart 所加载的数据。
    imgalaxy
        2
    imgalaxy  
       2017-11-17 21:25:38 +08:00 via Android
    直接捅接口啊
    p2pCoder
        3
    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
        4
    jahan  
    OP
       2017-11-17 21:48:50 +08:00
    @imgalaxy 怎么直接捅接口?

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

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

    我试试大家的方法,还是一头雾水。
    p2pCoder
        5
    p2pCoder  
       2017-11-17 21:51:56 +08:00   ❤️ 1
    @jahan 这个没法 直接桶接口,这个 是 返回的 js 文件,形成的 svg
    如果要数据,就是 把 两个 js 文件 ,看里面 那些数据需要
    如果 截图
    直接用 selenium 就行
    jahan
        6
    jahan  
    OP
       2017-11-17 21:54:12 +08:00
    @p2pCoder 谢谢提示。我去看看这个 pkg
    mosliu
        7
    mosliu  
       2017-11-17 22:00:43 +08:00
    headless 截图。。
    jahan
        8
    jahan  
    OP
       2017-11-17 22:04:57 +08:00
    @mosliu 能够缩放吗,我可能要截图时间长度很长,10 年左右日线图
    jahan
        9
    jahan  
    OP
       2017-11-17 22:23:12 +08:00
    @mosliu headless 和 selenium 可以配合 python 实现批量的截图吧
    wakiki
        10
    wakiki  
       2017-11-18 12:26:29 +08:00 via iPhone
    是 Canvas,不是 SVG
    jahan
        11
    jahan  
    OP
       2017-11-18 12:38:27 +08:00
    @wakiki 第一次接触,有没有可以参考的例子呢,谢谢
    jahan
        12
    jahan  
    OP
       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
        13
    mosliu  
       2017-11-18 13:43:25 +08:00
    用 selenium+PhantomJS 应该就能解决吧
    phantom 我记得有截屏的。
    jahan
        14
    jahan  
    OP
       2017-11-19 11:05:28 +08:00
    @mosliu 是的,现在又有一个问题,这种网页为什么点击 login in,地址栏目都不变化呢,这种情况怎么让 selenium 登陆这个网站?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1922 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:02 · PVG 08:02 · LAX 17:02 · JFK 20:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.