【问题标题】:Automating web tasks?自动化网络任务?
【发布时间】:2014-01-12 00:00:28
【问题描述】:

我在 chess.com 上玩游戏,我想下载我的游戏历史记录。不幸的是,它们并不容易:我可以一次访问 50 个游戏的 100 页,单击“全选”和“下载”,然后他们通过电子邮件将其发送给我。

有没有办法用 python 或其他语言编写脚本来帮助我自动化流程的任何部分?模拟点击链接的东西? Capybara 在单元测试之外对这样的事情有用吗?硒?

我还没有太多网络开发经验。感谢您的帮助!

【问题讨论】:

    标签: python selenium automation web-scraping capybara


    【解决方案1】:

    您可能想查看 CasperJS。我使用 Python 触发 CasperJS 脚本来进行网络抓取并将数据返回给 Python 以进一步解析或存储到数据库等......

    Python 本身有 BeautifulSoup 和 Mechanize,但是对于基于 Ajax 的网站来说,组合并不是很好。

    Python 和 CasperJS 是完美的。

    【讨论】:

    • 那么,如果我正在查看的网站不是基于 AJAX 的,BeautifulSoup 可能是理想的解决方案?
    • 是的,如果您不尝试抓取由 JavaScript 操作的动态数据,我会说 beautifulsoup 更快。
    【解决方案2】:

    如果您想做这样的事情,Selenium 可能是一个不错的选择。

    下面是一些伪代码:

    foreach page_link in page_links:
      page_link.click()
      select_all.click()
      download_link.click()
    

    【讨论】:

      【解决方案3】:

      看看Helium。使用这个 Python 库实现您需要做的事情应该相对容易:

      start_chrome("chess.com")
      ...
      click("Select All")
      click("Download")
      ...
      

      等等

      【讨论】:

        猜你喜欢
        • 2017-04-07
        • 2010-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-20
        • 2011-03-17
        • 2011-04-24
        • 1970-01-01
        相关资源
        最近更新 更多