2

我正在使用与 mysql 集成的 Nutch 2.1。我已经爬取了 2 个站点,Nutch 成功爬取了它们并将数据存储到了 Mysql 中。我正在使用 Solr 4.0.0 进行搜索。

现在我的问题是,当我尝试重新抓取某些站点(如 trailer.apple.com 或任何其他站点)时,它总是抓取最后抓取的网址。甚至我已经从 seed.txt 文件中删除了最后抓取的 url 并输入了新的 Urls。但是 Nutch 并没有抓取新的 Urls。

谁能告诉我,实际上我做错了什么。

另外请向我推荐任何可以帮助抓取视频和电影网站的 Nutch 插件。

任何帮助都会非常显着。

4

3 回答 3

2

我也有同样的问题。Nutch 仅重新抓取旧的 url,即使它们不存在于 seed.txt 中。

当我第一次启动 nutch 时,我会执行以下操作:

  • 在 /root/Desktop/apache-nutch 2.1/runtime/local/urls/seed.txt 中添加域“www.domain01.com”(不带引号)

  • 在 /root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter.txt 中,添加新行:

    # 接受其他任何内容
    ^http://([a-z0-9]*.)*www.domain01.com/sport/

  • 在 /root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt 中,添加新行:

    # 接受其他任何内容
    ^http://([a-z0-9]*.)*www.domain01.com/sport/

...一切都很好。

接下来我做了以下更改:

  • 从 /root/Desktop/apache-nutch-2.1/runtime/local/urls/seed.txt 中删除 www.domain01.com 并添加两个新域:www.domain02.com 和 www.domain03.com

  • 从 /root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter.txt 中删除 www.domain01.com 并添加两个新行:

    # 接受其他任何内容
       ^http://([a-z0-9]*.) www.domain02.com/sport/
       ^http://([a-z0-9]
    .)*www.domain03.com/运动/

  • 从 /root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt 中删除 www.domain01.com 并添加两个新行:

    # 接受其他任何内容
       ^http://([a-z0-9]*.) www.domain02.com/sport/
       ^http://([a-z0-9]
    .)*www.domain03.com/运动/

接下来我执行以下命令:

updatedb
bin/nutch inject urls
bin/nutch generate urls
bin/nutch updatedb
bin/nutch crawl urls -depth 3

而 nutch 还在爬 www.domain01.com

我不知道为什么?

我在 Linux Debian 6.0.5 (x64) 上使用 Nutch 2.1。并且 linux 在 Windows 7 (x64) 上的虚拟机上启动。

于 2013-02-04T14:57:40.603 回答
1

这篇文章有点过时,但在大多数情况下仍然有效:http: //pascaldimassimo.com/2010/06/11/how-to-re-crawl-with-nutch/也许最后爬取的页面是改变的页面最多。Nutch 使用自适应算法来安排重新抓取,因此当页面非常静态时,不应该经常重新抓取。您可以使用 nutch-site.xml 覆盖您想要重新抓取的频率。此外,seed.txt 文件应该是种子列表,一旦您注入 URL,Nutch 就不再使用它(除非您再次手动重新注入)

另一个可能有帮助的配置是你的 regex-urlfilter.txt,如果你想指向一个特定的地方或排除某些域/页面等。

干杯。

于 2012-12-24T02:36:03.630 回答
0

您只需在属性标签下方添加您的 nutch-site.xml。它对我有用,,,,,,,检查.......

<property> <name>file.crawl.parent</name> <value>false</value> </property

你只需更改 regex-urlfilter.txt

# 跳过文件:ftp: 和 mailto: urls #-^(file|ftp|mailto):
# 接受其他任何内容 +.

删除该索引目录手册或命令后也喜欢.. rm -r $NUTCH_HOME/indexdir

运行你的爬虫命令后............

于 2013-10-17T08:29:21.807 回答