我只想在nutch上抓取特定的域。为此,我将db.ignore.external.links
设置为true,如常见问题解答链接中所述
问题是疯子开始只抓取种子列表中的链接。例如,如果我把"nutch.apache.org"放在seed.txt中,它只会找到相同的url(nutch.atache.org)
我通过运行200深度的爬网脚本得到了结果。它完成了一个循环,并生成下面的输出。
我该如何解决这个问题?
我使用的是apache nutch 1.11
Generator: starting at 2016-04-05 22:36:16
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
向致以最诚挚的问候
您只想从特定域中获取页面。
您已经尝试过db.ignore.external.links
,但这限制了除了seek.txt URL之外的任何内容。
你应该像nutch1教程中的例子一样尝试conf/regex-urlfilter.txt
:
+^http://([a-z0-9]*.)*your.specific.domain.org/
您正在使用"爬网"脚本吗?如果是,请确保您给出的级别大于1。如果你运行这样的"bin/crawl seedfoldername crawlDbhttp://solrIP:solrPort/solr1"。它将只抓取seed.txt 中列出的URL
要对特定域进行爬网,可以使用regex-urlfilte.txt文件。
在nutch-site.xml 中添加以下属性
<property>
<name>db.ignore.external.links</name>
<value>true</value>
<description>If true, outlinks leading from a page to external hosts will be ignored. This is an effective way to limit the crawl to include only initially injected hosts, without creating complex URLFilters. </description>
</property>