0

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

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

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

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

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

4

3 回答 3

2

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

于 2013-06-05T00:29:19.027 回答
1

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

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

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

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

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

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

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

于 2013-06-08T05:30:05.943 回答