1

当我运行 Apache Nutch 1.4 爬虫时,我想存储一些额外的信息。我想存储每个 URL 的父级。

例如,我想抓取一个页面 a.html,它有 2 个指向 b.html 和 c.html 的锚链接所以当我抓取 a.html 时,我应该得到这样的东西:-

a.html null
b.html a.html
c.html a.html

我想存储这样的东西。我已经阅读了 nutch 的工作原理,并且也在 eclipse 中运行了 nutch。我还阅读了 fetcher.java 并记录了它获取内容的位置。但是我没有成功知道 Nutch 在哪里获取给定页面的子 URL。我认为这一步发生在解析步骤之后。

4

1 回答 1

2

我觉得可以通过生成linkdb来获取信息。

链接数据库或 linkdb:这包含指向每个 URL 的已知链接列表,包括源 URL 和链接的锚文本。它维护一个反向链接映射,列出每个 url 的传入链接。

bin/nutch invertlinks crawldb/linkdb -dir crawldb/segments

在解析阶段,nutch 从爬取的内容中生成外链,然后在更新阶段将新发现的 url 存储到 crawldb。新的 url 在下一个周期/轮 nutch crawl 中被获取。

于 2012-05-24T03:35:02.380 回答