Apache 如何使用nutch 2.3抓取特定页面?

Apache 如何使用nutch 2.3抓取特定页面?,apache,web-crawler,nutch,Apache,Web Crawler,Nutch,我是纳奇的新手。经过几个小时的搜索,我不知道如何为我的爬虫程序选择正确的设置 首先,我使用hbase 0.94.14和elasticsearch 1.4.2在Ubuntu 14.04上安装了nutch 2.3 我开始使用nutch,在nutch的runtime/local目录中运行以下命令: bin/nutch inject seedfolder bin/nutch generate -topN 20 bin/nutch fetch -all bin/nutch parse -all bin/n

我是纳奇的新手。经过几个小时的搜索,我不知道如何为我的爬虫程序选择正确的设置

首先,我使用hbase 0.94.14和elasticsearch 1.4.2在Ubuntu 14.04上安装了nutch 2.3

我开始使用nutch,在nutch的runtime/local目录中运行以下命令:

bin/nutch inject seedfolder
bin/nutch generate -topN 20
bin/nutch fetch -all
bin/nutch parse -all
bin/nutch updatedb -all
bin/nutch index -all
然后我可以通过elasticsearch访问爬网的数据。看来一切都很顺利

当我想让nutch只抓取我感兴趣的站点时,我的问题就开始了。我读了很多教程,包括我在apache网站上找到的教程。有一件事让我很困惑,那就是《纳奇》两个版本之间的巨大差异。还有一些我从未被问过或回答过的问题

我想做的是: 我想告诉nutch爬行哪一页当然不止一页,但让我们保持简单。我通过向种子文件添加url并调用nutch inject来实现这一点。现在让我们假设我想要更精确地爬行,我对

http://www.pagetocrawl.com/intresting-facts?interesting-fact-id=1 
http://www.pagetocrawl.com/intresting-facts?interesting-fact-id=2
http://www.pagetocrawl.com/intresting-facts?interesting-fact-id=3 
...
我认为需要做的是编辑NUTCH_HOME/runtime/local/conf/regex-urlfilter.xml并添加

+http://www.pagetocrawl.com/intresting-facts
当我试着运行generate和fetch命令时,我注意到事实上nutch只抓取从pagetocrawl.com开始的站点,而没有触及我之前注入的其他站点。但后来它爬过了所有

http://www.pagetocrawl.com/interesting-facts
链接到。这就是印记,在哪里可以找到我们的网页等。最后它甚至没有抓取一个有趣的事实网站。因此,我的两个最重要的问题是:如何让nutch只抓取由regex-urlfilter.xml过滤的站点的子站点,这些子站点也匹配特定的模式?在下一步中:我如何确保抓取所有相关子网站,只要你的链接来自网站

我看过

http://www.stackoverflow.com/questions/19731904/exclude-urls-without-www-from-nutch-1-7-crawl
但在这里,问题似乎出现在我将url添加到regex-urlfilter.xml的前一步,它似乎正在工作——只是不是我期望的工作方式

我也读过这个问题:

http://www.stackoverflow.com/questions/3253525/how-to-index-only-pages-with-certain-urls-with-nutch
这似乎描述了与我相同的问题。但是由于我使用的是Nutch2.3,mergedb命令似乎不再有效


我真的希望我能正确地描述我的问题,并且有人能帮我解决这个问题。

你试过这个吗:+^http://[a-z0-9]*\.*pagetocrawl.com/intrest-factsHi computer godzilla!我不知道这对我有什么帮助。我认为,在有趣的事实之前的URL部分工作正常。我只是不知道如何为之后的部件设置过滤器。无论如何,我试过了,但是生成器作业产生了超时异常。请查看中的可选配置正则表达式筛选器部分。它说它将只抓取pagetocrawl.com域的所有站点。谢谢。现在我发现我误解了自己的问题。我尝试爬网另一个工作方式类似于另一个页面tocrawl.com/interest-facts/interest-fact1.html的网站,另一个页面tocrawl.com/interest-facts/interest-fact2.html我在这里没有任何问题,只爬网相关页面,并在regex-urlfilter.txt中设置,确实按照我预期的方式工作。所以我的问题是如何让nutch不忽略它目前正在做的有趣的事实id参数。但这给了我寻找解决方案的新视角。