Nutch 1.10 不会抓取我网站上的子目录

Nutch 1.10 won't crawl subdirectories on my site

我是 Nutch 和 Solr 的新手,所以我可能只是配置不正确,但我在任何 conf 文件中都找不到相关设置。

我正在一个相对较小的网站上测试 Nutch,它会抓取网站根目录中的任何页面,但不会抓取子目录中的任何页面。因此,当我查看 Solr (5.3.1) 的核心并进行搜索时,我可以找到一个页面 www.somesite.com/somepage.php,但是 none 的页面中有 www.somesite.com/somedir/somepage.php 之类的网址。

我正在使用以下命令 运行 抓取脚本:

sudo -E bin/crawl -i -D solr.server.url=http://localhost:8983/solr/TestCrawlCore urls/ TestCrawl/ 5

这应该经过 5 次迭代,但只有 运行 一次,并报告没有更多的 URL 可以获取并退出。控制台或 hadoop 日志中没有错误。

结果:

Injecting seed URLs
/opt/apache-nutch-1.10/bin/nutch inject TestCrawl//crawldb urls/
Injector: starting at 2015-10-29 09:51:55
Injector: crawlDb: TestCrawl/crawldb
Injector: urlDir: urls
Injector: Converting injected urls to crawl db entries.
Injector: Total number of urls rejected by filters: 0
Injector: Total number of urls after normalization: 1
Injector: Merging injected urls into crawl db.
Injector: overwrite: false
Injector: update: false
Injector: URLs merged: 1
Injector: Total new urls injected: 0
Injector: finished at 2015-10-29 09:51:58, elapsed: 00:00:02
Thu Oct 29 09:51:58 CDT 2015 : Iteration 1 of 5
Generating a new segment
/opt/apache-nutch-1.10/bin/nutch generate -D mapred.reduce.tasks=2 -D mapred.child.java.opts=-Xmx1000m -D mapred.reduce.tasks.speculative.execution=false -D mapred.map.tasks.speculative.execution=false -D mapred.compress.map.output=true TestCrawl//crawldb TestCrawl//segments -topN 50000 -numFetchers 1 -noFilter
Generator: starting at 2015-10-29 09:51:58
Generator: Selecting best-scoring urls due for fetch.
Generator: filtering: false
Generator: normalizing: true
Generator: topN: 50000
Generator: 0 records selected for fetching, exiting ...
Generate returned 1 (no new segments created)
Escaping loop: no more URLs to fetch now

seed.txt

http://www.somesite.com

(我也尝试添加一个尾随的“/”,但这并没有改变任何东西。)

我已经在正则表达式中尝试了以下所有方法-urlfilter.txt 和 none 似乎与其他方法有任何不同。虽然我对这些过滤器的理解很差。

+^http://([a-z0-9\]*\.)*www.somesite.com/
+^http://([a-z0-9\-A-Z]*\.)*www.somesite.com/
+^http://([a-z0-9\-A-Z]*\.)*www.somesite.com/([a-z0-9\-A-Z]*\/)*
+^http://([a-z0-9\]*\.)*www.somesite.com/([a-z0-9\]*\/)*

我已经广泛查看了 hadoop 日志,以确保它们没有在较早的时候被抓取 运行,认为这可能是 solr 中索引的问题,但看起来他们已经只是从未被抓取并且被忽略了。

有人可以在这里指出正确的方向来解决这个问题吗?我没有想法和谷歌。

您的网站有 robots.txt 文件吗?因此,它可能会限制它可以抓取的链接。将 Nutch 日志记录更改为调试,它可能会给您更好的主意。