0

我只是对这个话题有几个问题。

有人可以解释使用以下语言编写刮板的优缺点:

Java/Groovy

Perl

磷酸盐

Python

我也想知道在抓取时会遇到什么样的问题,也许我应该如何处理它。例如,我遇到了片段身份,但还没有找到处理它的方法。(我正在使用 htmlunit)

只是为那些对该主题有所了解的人寻找一些指示。

4

3 回答 3

1

我建议从 Python + lxml开始。机械化有时也很有帮助。

依赖 JavaScript 或 cookie 的网站更难抓取,但大多数都很简单。

确保在您的请求之间留出几秒钟的时间以避免被阻止。

于 2010-12-16T05:00:11.893 回答
1

考虑查看TestPlan。它有自己的高级语言,但您也可以用 Java 编写模块。它支持 Selenium 后端以及 HTMLUnit。

如果你可以用你的片段给出一个特定的问题(问题),那么我也可以回答这个问题。

于 2010-12-17T09:53:42.573 回答
1

优点/缺点更多地与可用的框架有关,而不是与编程语言本身有关。

  1. 如果你需要废弃 javascript/ajax 网站,htmlunit 是最好的选择之一,但如果你想直接使用它,你需要一种在 JVM 上运行的语言(java、jython、clojure 等)。另一种选择(用于 javascript/ajax)是编写 Google Chrome 插件(比 Firefox 更容易)或在您的应用程序中嵌入 Web 浏览器。第三种选择是使用自动化工具,例如:http: //openqa.org/(例如:Selenium、Watir)。
  2. 如果您在我的经验中不需要 javascript/ajax 支持,lxml 是 CPython 下最好的抓取库,主要处理格式错误的 html。其他 html 解析器在每种情况下都无法正常工作。
  3. 除了(1)和(2)之外,另一个重要的问题是你是否有一个并行的爬虫框架(如果你需要速度)。(1)、(2)、(3) 一起很难找到。
于 2010-12-17T15:52:27.600 回答