如何重新抓住荷兰人

时间:2012-12-14 06:21:23

标签: nutch web-crawler

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

现在我的问题是,当我尝试重新抓取某些网站(例如trailer.apple.com或任何其他网站)时,它总是抓取最后抓取的网址。即使我已从seeds.txt文件中删除了最后一个已抓取的网址,也输入了新的网址。但是Nutch没有抓住新的Urls。

任何人都可以告诉我,实际上我做错了什么。

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

任何帮助都会非常明显。

3 个答案:

答案 0 :(得分:2)

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

我第一次开始荷兰时,我会做以下事情:

  • 在/ 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 /运动/

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

    #接受任何其他事项 ^ HTTP://([A-Z0-9] *)* www.domain01.com /运动/

......一切都很好。

接下来我做了以下更改:

  • 从/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

而且荷兰人还在爬网www.domain01.com

我不知道为什么?

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

答案 1 :(得分:1)

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

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

干杯。

答案 2 :(得分:0)

你只需在属性标记下面添加你的nutch-site.xml。它适用于我,,,,,,,检查它..........

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

你只需更改regex-urlfilter.txt

#skip文件:ftp:和mailto:urls  # - ^(文件| FTP |邮寄地址):
 #接受其他任何事情 +。

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

运行后你爬行cammand ...........