Chrome / Firefox网络浏览器自动收集数据

时间:2013-06-05 00:24:45

标签: java javascript google-chrome firefox automation

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

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

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

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

有人可以指示我以简单快捷的方式完成这项任务。我对Java,Javascript和Python有一点了解。

3 个答案:

答案 0 :(得分:2)

您可能想要像Selenium一样使用“网络浏览器自动化”工具。虽然不完全符合我的目的,但我认为它可用于实现您的要求。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

我找到了解决问题的方法。它叫做HtmlUnit:

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

HtmlUnit是“用于Java程序的GUI-Less浏览器”。

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

不完全是我的要求,但它更好。至少对我而言。