需要像ApacheNutch这样没有Hadoop的开源爬虫程序吗
我需要一个开放源码的爬虫与功能,如url规范化,url过滤器,解析器,礼貌,不包括一些网址,但我所做的是没有大的反正。我只需要更新大约500台主机的1级大纲。我不喜欢通过实现Nutch拥有的所有这些好特性来重新发明轮子,同时我也不喜欢Hadoop在这个小任务上的开销 有没有没有没有没有Hadoop的Nutch叉子?或者任何其他具有这些功能的简单爬虫程序? 我不需要任何自适应的获取调度、排名等。我只是有一个主机列表,我应该使用一台机器获取它们的大纲链接需要像ApacheNutch这样没有Hadoop的开源爬虫程序吗,hadoop,web-crawler,nutch,Hadoop,Web Crawler,Nutch,我需要一个开放源码的爬虫与功能,如url规范化,url过滤器,解析器,礼貌,不包括一些网址,但我所做的是没有大的反正。我只需要更新大约500台主机的1级大纲。我不喜欢通过实现Nutch拥有的所有这些好特性来重新发明轮子,同时我也不喜欢Hadoop在这个小任务上的开销 有没有没有没有没有Hadoop的Nutch叉子?或者任何其他具有这些功能的简单爬虫程序? 我不需要任何自适应的获取调度、排名等。我只是有一个主机列表,我应该使用一台机器获取它们的大纲链接 我的首选是一些坚果叉,因为我有使用它的经验。
我的首选是一些坚果叉,因为我有使用它的经验。我认为您只需要linux命令
wget
。
例如,假设主机放在文件hosts.txt
中。您可以使用以下命令下载它们:
for host in `cat hosts.txt` ; do wget -r -d 1 -H "$host"; done
-r表示递归,-d 1表示仅下载级别1,-H表示不限制域名
您可以在google中搜索
wget递归下载
,或运行manwget
以获取更多信息。Nutch不再绑定到Hadoop:
不过,默认情况下,Nutch不再附带Hadoop发行版
在本地模式下运行时,例如在一台计算机上的单个进程中运行Nutch
然后我们使用Hadoop作为依赖项。如果你愿意的话,这可能很适合你
你有一个小网站可以抓取和索引,但大多数人选择Nutch
因为它能够在部署模式下在Hadoop中运行
集群
from:是的,但我需要它是多线程的,同时我需要遵守礼貌规则(不要同时向一台服务器发送多个请求)。我还需要一个解析器来提取大纲链接,一个url规范化来规范化url,一个url过滤工具来排除一些url。还有一些其他必需的功能,比如检测mimetype,将它们存储在lucene中等等。我可以实现所有这些功能,但它们已经在一些爬虫程序中实现了,比如Nutch。Nutch的问题是它与Hadoop的耦合度很高,我不需要它。那么我认为Heritrix是另一种选择: