我怎样才能找到nutch如何到达链接/网址?

时间:2014-08-28 20:30:33

标签: solr web-crawler nutch

我们有一个奇怪的情况,我们正在做Nutch抓取,其中Nutch到达一个错误的网页,实际上,服务器应该发送404.无论出于何种原因,服务器都没有。

当Nutch点击这个“坏”URL时,会生成一个基于错误的所有相对路径的页面。因此,如果根页面为“http://example.com/bad”,则此页面将包含数百个链接,例如“example.com/bad/data/1”和“example.com/bad/calendar/2012”和“ example.com/bad/data/1/calendar/2012" 。

因此,Nutch将继续永远爬行。

我想追溯错误地首先链接到这个“坏”页面的任何页面。似乎可以使用bin/nutch readlinkdbbin/nutch readdb命令来实现这一点。我尝试过指定错误网址(通过'--url'),但没有找到相关的网址。执行完全转储实际上确实是不包含任何错误URL的网络数据。但Nutch肯定会将错误的URL注入Solr。

为什么会这样,我如何追踪Nutch到错误网址的路径?

1 个答案:

答案 0 :(得分:1)

有两种方法可以解决这个问题:

  1. linkdb.ignore.internal.links属性设置为false。这将填充每个URL的所有链接,您可以从readlinkdb转储中手动找到错误链接。

  2. linkdb.max.inlinks中的nutch-default.xml属性设置为1.这将仅存储链接到linkdb中页面的第一个网址。您仍需要将linkdb.ignore.internal.links属性设置为false