【问题标题】:Writing a non-GUI bot using Mozilla Framework使用 Mozilla 框架编写非 GUI 机器人
【发布时间】:2010-11-05 10:15:18
【问题描述】:

我正在寻找一种使用 Mozilla 框架编写非 GUI 机器人的方法。该机器人应该能够像普通浏览器一样工作(自动下载相关的 JS 文件,生成 XMLHTTPRequests,运行 JS 操作,修改 DOM),除了不需要 GUI。

我想知道是否可以在没有 X、GTK/KDE(没有任何 GUI 依赖项)的情况下构建 XULRunner,因为我将在 FreeBSD 服务器 6.4 上运行机器人。

这听起来可能有点奇怪,但我需要一个能够像浏览器一样操作、运行 JS、修改 DOM、提交在非 GUI 环境中运行的表单的机器人。

我研究了其他浏览器,例如 Lynx、Links、Hulahop、Chrome V8 引擎、WebKit JavascriptCore,但还没有找到理想的输出。

这是学校项目的一部分,论文。我们将用来观察廉价航空公司的价格变化,经过一年的数据收集,我们需要推断定价策略和客户行为。这是一个严肃的毕业季项目。

非常感谢任何提示或帮助!提前谢谢!

问候。

【问题讨论】:

  • 你会用这个工具做什么?
  • 这是学校项目的一部分,论文。我们将用来观察廉价航空公司的价格变化,经过一年的数据收集,我们需要推断定价策略和客户行为。严肃的最后一年项目,在这里没有乐趣。
  • @Viet:您可能想将其添加到问题中,因为它的书面内容看起来可能是电子邮件抓取和/或 CAPTCHA 黑客攻击的平台......当然这可能是我的安全背景为我解释事情:)

标签: javascript dom mozilla xulrunner bots


【解决方案1】:

您应该能够使用selenium 取得进展。它是一个记录/测试/播放工具,但它的核心是操纵 DOM。

更新 Grundlefleck 的评论:至于启动实际测试有 selenium remote-control,它允许您使用 Java、Ruby、纯 HTML 和其他可能的驱动程序编写测试。

【讨论】:

  • 谢谢你,罗伯特!我会试试看。
  • 硒 +1。它还允许您以多种不同的形式编写测试(这将是 OP 的机器人脚本),包括 HTML、Java 和 Ruby。
  • 感谢 Grundlefleck 做笔记。
【解决方案2】:
  1. 是的,这是可能的(但很可能需要大量更改代码)。

  2. 不,我不知道任何细节。

  3. 出于您的目的,我不会推荐这种方法。从您的评论中,听起来您正在尝试抓取网页。如果你真的需要使用 JavaScript,你可以使用独立的 JavaScript 引擎(Mozilla 的可用 here)。否则,我会将Beautiful Soup 与Python 或Twill 一起使用。您可能还想阅读this question

【讨论】:

  • 嗨拉斯穆斯,谢谢您的回复。我只在构建选项中寻找更改,并避免对源代码进行任何更改。我们需要在 Mozilla 框架之上构建应用程序,并将忠实于官方源代码,以使我们的应用程序可维护。
  • 我们确实需要同时使用 Javascript 和 DOM 引擎以及网络库来收集数据。仅 JS 引擎无法完成工作,因为这些网站要求修改 DOM。感谢您的建议。
猜你喜欢
  • 2018-02-10
  • 1970-01-01
  • 2021-10-08
  • 2013-06-08
  • 1970-01-01
  • 2016-04-26
  • 1970-01-01
  • 2015-11-15
  • 2014-09-05
相关资源
最近更新 更多