首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >屏幕抓取| Web抓取

屏幕抓取| Web抓取
EN

Stack Overflow用户
提问于 2010-12-16 05:07:51
回答 3查看 1.4K关注 0票数 0

我只有几个关于这个话题的问题。

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

Java/Groovy

Perl

PhP

Python

我也想知道在抓取时会面临什么样的问题,以及我应该如何处理它。例如,我遇到过片段标识,但还没有找到处理它的方法。(我使用的是htmlunit)

我只是为那些对这个话题略知一二的人寻找一些指点。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-17 23:52:28

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

  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解析器并不是在每个circumstance.
  3. Beyond (1)和(2)中都能很好地工作,另一个重要的问题是你是否有一个并行爬行框架(如果你需要速度)。(1),(2),(3)在一起很难找到。
票数 1
EN

Stack Overflow用户

发布于 2010-12-16 13:00:12

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

依赖于JavaScript或cookies的网站比较难抓取,但大多数都很简单。

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

票数 1
EN

Stack Overflow用户

发布于 2010-12-17 17:53:43

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4454897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档