使用Nutch重新抓取网址仅适用于更新的网站

Ilc*_*MKD 8 apache lucene solr web-crawler nutch

我用Nutch 2.1抓取了一个URL,然后我想在更新后重新抓取页面.我怎样才能做到这一点?我如何知道页面已更新?

İsm*_*kan 5

简直就是你不能.您需要重新抓取页面以控制它是否已更新.因此,根据您的需要,确定页面/域的优先级,并在一段时间内重新抓取它们.为此,您需要一个作业调度程序,如Quartz.

您需要编写一个比较页面的函数.但是,Nutch最初将页面保存为索引文件.换句话说,Nutch生成新的二进制文件来保存HTML.我不认为比较二进制文件是可能的,因为Nutch将所有爬网结果组合在一个文件中.如果要以原始HTML格式保存页面以进行比较,请参阅我对此问题的回答.

  • 我不同意Nutch提供了检测新的和更新的页面的能力,并且应该能够为您执行此操作. (2认同)

Jay*_*dra 5

您必须为启动作业安排 ta 作业
但是,Nutch AdaptiveFetchSchedule 应该使您能够抓取和索引页面并检测页面是新页面还是更新页面,而您不必手动执行此操作。

文章同样详细描述。

  • 我将不得不在这里不同意你的观点。您提到的类根据已爬网站点的“if-modified-since”和“last-modified”http 标头工作。我必须说,周围的任何网站(除了 google、youtube、stackoverflow 等)都不能相信这些标题的真实性。 (3认同)