首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新爬行nutch

如何重新爬行nutch
EN

Stack Overflow用户
提问于 2012-12-14 14:21:23
回答 3查看 3.1K关注 0票数 2

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

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

谁能告诉我,我到底做错了什么?

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

任何帮助都将是非常有用的。

EN

回答 3

Stack Overflow用户

发布于 2013-02-04 22:57:41

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

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

  • 在/root/Desktop/apache-nutch2.1//
    • /urls/seed.txt中添加域"www.domain01.com“(不带引号)在else^http://([a-z0-9]*.)*www.domain01.com/sport/

    中添加新行: accept

    • :accept anything else^http://([a-z0-9]*.)*www.domain01.com/sport/
    • In /root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt,add new line: accept anything else^http://([a-z0-9]*.)*www.domain01.com/sport/

..。一切都很好。

接下来,我做了以下更改:

从/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中添加两个新域: www.domain02.com和www.domain03.com

  • Remove www.domain01.com,然后添加两个新行: accept anything
  • http://([a-z0-9]*.)

从/root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt中删除^http://([a-z0-9].)*www.domain03.com/sport/

  • Remove www.domain01.com,并添加两行新行:接受任何其他内容*^http://([a-z0-9]*.)

**^http://([a-z0-9].)*www.domain03.com/sport/

接下来,我执行以下命令:

代码语言:javascript
复制
updatedb
bin/nutch inject urls
bin/nutch generate urls
bin/nutch updatedb
bin/nutch crawl urls -depth 3

和nutch仍然爬行www.domain01.com

我不知道为什么?

我在Linux Debian6.0.5 (x64)上使用Nutch2.1。linux是在Windows7 (x64)的虚拟机上启动的。

票数 2
EN

Stack Overflow用户

发布于 2012-12-24 10:36:04

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

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

干杯。

票数 1
EN

Stack Overflow用户

发布于 2013-10-17 16:29:22

只需在属性标签下面添加ur nutch-site.xml即可。它为我工作,,,检查它..........

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

您只需更改regex-urlfilter.txt

跳过file: ftp:和mailto: urls #-^(file|ftp|mailto):

接受任何其他的+。

删除索引目录后,手册或命令也类似于..rm -r $NUTCH_HOME/索引目录

运行完爬行命令后.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13873694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档