首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可扩展/可定制的Web爬行引擎/框架/库?

可扩展/可定制的Web爬行引擎/框架/库?
EN

Stack Overflow用户
提问于 2009-08-20 12:51:46
回答 3查看 1.2K关注 0票数 2

我有一个相对简单的案例。我基本上想存储各种网站之间的链接数据,不想限制域名。我知道我可以使用一些http客户端库编写自己的爬虫程序,但我觉得我会做一些不必要的工作--确保页面不会被多次检查,弄清楚如何读取和使用robots.txt文件,甚至可能尝试使其并发和分布式,我确信还有很多其他我还没有想到的事情。

因此,我想要一个网络爬行框架,它可以处理这些事情,同时允许我决定如何处理响应(在我的例子中,只提取链接并存储它们)。大多数爬虫似乎认为你是在为搜索索引网页,这不好,我需要一些可定制的东西。

我希望将链接信息存储在MongoDB数据库中,因此我需要能够指定链接在框架中的存储方式。虽然我已经将这个问题标记为语言不可知,但这也意味着我必须将选择限制在MongoDB支持的语言(Python、Ruby、Perl、PHP、Java和C++)中,这是一个非常广泛的网。我更喜欢动态语言,但我对任何建议都持开放态度。

我已经找到了Scrapy (看起来很整洁)和JSpider (基于121页的用户手册,它看起来不错,但可能有点“繁重”),但我想看看有没有其他我遗漏的好选择。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-23 18:44:16

我想你自己已经搜索过Stack Overflow了,因为在这些标记的web-crawler中有相当多类似的问题?由于没有广泛使用以下任何一项,我避免详细说明,只列出一些我认为值得为手头的任务复习的内容:

和Python

  • Scrapy:我再次提到这一点,认为它是一种很有前途的方法,特别是因为它是基于
    • Twisted的,这是一种现代的、备受推崇的基于WWW-Mechanize的网络engine.
    • Mechanize:,请参阅Perl below.
    • Similar question specific to Python,有关机械化、Scrapy和others.

的更多细节。

  • Spidr
  • Anemone

  • Ruby (从来没有用过这些)

非常成熟的项目,很好的documented.,

  • Perl

  • Java
    • Nutch:相当成熟的项目,有很好的文档,专门的可扩展性,基于Apache Lucene,这是非常成熟的,有一个强大的社区;仍然存在关于高级集成场景的问题,请参见this question.
    • Heritrix:非常成熟的项目,有很好的文档,专用的可扩展性,Internet Archive的主干;似乎更好地解决了一些高级集成场景,再次,请参阅this question.

好了,祝你的评论好运;)

票数 6
EN

Stack Overflow用户

发布于 2017-01-04 23:37:22

您还可以在Node.JS中尝试使用CasperJS和PhantomJS。

票数 0
EN

Stack Overflow用户

发布于 2017-11-23 04:42:58

当这个问题被问到的时候,StormCrawler不在身边,但他非常适合这个问题。它是用Java编写的,具有高度的模块化和可伸缩性,并且可以根据上面的描述进行定制。

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

https://stackoverflow.com/questions/1305997

复制
相关文章

相似问题

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