1

我有一个问题,我尝试在我已经爬过的东西上发出新的爬网,但是有一些新的 URL。

所以首先我有

urls/urls.txt -> www.somewebsite.com

然后我发出命令

bin/nutch crawl urls -dir crawl -depth 60 -threads 50

然后我更新 urls/urls.txt -> 删除 www.somewebsite.com -> 添加 www.anotherwebsite.com

我发出命令

bin/nutch inject crawl urls

bin/nutch crawl urls -dir crawl -depth 60 -threads 50

我在这里期望的是,www.anotherwebsite.com 被注入到现有的“抓取”数据库中,当再次发出抓取时,它应该只抓取我添加的新网站 www.anotherwebsite.com(作为原始网站的重新获取)设置为 30 天)

我的经历是

1.) 没有网站被抓取

2.) 只抓取原网站

“有时”如果我将它放置几个小时,它就会开始工作并获取新网站并同时抓取旧网站和新网站(即使重新获取时间设置为 30 天)

它非常奇怪和不可预测的行为。

我很确定我的 regex-urlfilter 文件设置正确,并且我的 nutch-site / nutch-default 全部设置为默认值(足够接近)。

问题:

任何人都可以简单地(使用命令)解释每次爬网期间发生了什么,以及如何使用一些新的 url 更新现有的爬网数据库?

谁能解释(用命令)我如何强制在爬网数据库中重新抓取“所有”网址?- 我已经发布了一个 readdb 并检查了重新获取时间,大多数设置为一个月,但是如果我想尽快重新获取呢?

4

1 回答 1

3

文章Here对爬取过程进行了足够深入的解释

于 2013-10-31T11:52:22.820 回答