【问题标题】:Chrome/Firefox web browser automation for collect data用于收集数据的 Chrome/Firefox 网络浏览器自动化
【发布时间】:2013-05-31 13:05:26
【问题描述】:

我想在网站中自动浏览以收集一些数据。

有一个带有表单的页面。该表单由一个选择和一个提交按钮组成。选择 select 的一个选项并单击提交按钮会转到另一个页面,其中有一些包含相关数据的表格。

我需要为每个选项收集这些数据并将其保存在文件中。可能我需要回到第一页来重复每个选项的任务。细节是我以前不知道确切的选项数量。

我的想法是最好使用 Firefox 或 Chrome 来完成这项任务。我认为唯一的方法是通过编程。

有人可以告诉我一种简单快速地完成这项任务的方法。我对 Java、Javascript 和 Python 略知一二。

【问题讨论】:

    标签: java javascript google-chrome firefox automation


    【解决方案1】:

    我找到了解决问题的方法。它被称为 HtmlUnit:

    http://htmlunit.sourceforge.net/gettingStarted.html

    HtmlUnit 是“Java 程序的无 GUI 浏览器”。

    它允许使用Java进行网页浏览和数据收集,非常简单易用。

    不完全是我问的,但更好。至少对我来说。

    【讨论】:

      【解决方案2】:

      由于任务相对受限,我会避免使用 Selenium(它有点脆弱),而是尝试这种方法:

      • 从第一页获取完整的选项列表,并将其记录在文本文件中
      • 使用 Fiddler 等网络监控工具捕获您提交第一页时发送的流量。查看提交给服务器的确切内容 - 以及如何提交(POST 与 GET、参数编码等)。
      • 使用 curl 之类的工具以您在步骤 2 中捕获的确切格式重放请求步骤。然后编写一个批处理脚本(使用 bash 或 python)来运行步骤 1 中的文本文件对下拉列表中的所有值进行 curl。将 curl 输出保存到文件中。

      【讨论】:

        【解决方案3】:

        您可能想搜索 Selenium 之类的“网络浏览器自动化”工具。虽然不完全适合目的,但我认为它可以用来实现您的要求。

        【讨论】:

        • Selenium 对这项任务有什么限制?
        猜你喜欢
        • 2011-01-20
        • 2012-05-14
        • 2017-10-27
        • 2016-10-14
        • 1970-01-01
        • 2010-11-04
        • 2014-02-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多