2

好的,所以我最近两天一直在寻找适合我需要的爬虫。我想建立一个搜索引擎,我想自己做索引。这将是一个学术项目的一部分。虽然我没有爬取整个网络的处理能力,但我想使用一个实际上能够做到这一点的爬虫。所以我正在寻找的是一个爬虫:

  1. 支持多线程
  2. 不错过很多链接
  3. 让我有机会(重写一个方法,以便我可以)访问爬取的页面的内容,以便我可以保存它、解析它等。
  4. 服从 robots.txt 文件
  5. 抓取 html 页面(还有 php、jsp 等)。
  6. 识别具有相同内容的页面并且只返回一个。

它不需要(必须)做的是:

  1. 支持页面排名。
  2. 指数结果。
  3. 抓取图像/音频/视频/pdf等。

我发现了一些非常接近我需要的库/项目,但据我所知,它们并不支持我需要的一切:

  1. 首先我遇到了crawler4j。这个唯一的问题是它不支持每个主机的礼貌间隔。因此,通过将礼貌级别设置为 1000 毫秒的合适值,会使爬虫变得非常缓慢。
  2. 我还找到了 flaxcrawler。这确实支持多线程,但在网页中查找和跟踪链接似乎存在问题。

我还研究了更完整和更复杂的“爬虫”,例如 Heritrix 和 Nutch。虽然我不太擅长处理更复杂的东西,但如果我确定它能够完成我需要它做的事情,我肯定愿意使用它:抓取网络并给我所有页面以便我可以阅读他们。

长话短说:我正在寻找一个爬虫,它可以非常快速地浏览网络上的所有页面,并让我有机会对它们做一些事情。

4

1 回答 1

0

AFAIK,Apache Nutch 适合您的大部分要求。Nutch 也有一个插件架构,如果你需要,它可以帮助你自己编写。您可以浏览 wiki [0] 并在邮件列表中询问您是否有任何问题

[0] http://wiki.apache.org/nutch/FrontPage

于 2013-03-22T18:06:35.023 回答