我已经使用Hadoop / Hbase生态系统配置了Apache Nutch 2.3.1。以下是配置信息。
<configuration>
<property>
<name>db.score.link.internal</name>
<value>5.0</value>
</property>
<property>
<name>enable.domain.check</name>
<value>true</value>
</property>
<property>
<name>http.timeout</name>
<value>30000</value>
</property>
<property>
<name>generate.max.count</name>
<value>200</value>
</property>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
</property>
<property>
<name>http.agent.name</name>
<value>My Private Spider Bot</value>
</property>
<property>
<name>http.robots.agents</name>
<value>My Private Spider Bot</value>
</property>
<property>
<name>plugin.includes</name>
<value>protocol-http|indexer-solr|urlfilter-regex|parse-(html|tika)|index-(basic|more)|urlnormalizer-(pass|regex|basic)|scoring-opic</value>
</property>
</configuration>
Nutch作业运行的计算节点有3个。现在的问题是,在使用5000个域作为起始种子后,nutch只获取少量域,并且还有很多新域,其中只提取了一个文档。 我想nutch应该fairley获取所有域名。我也给了5分的链接,但是我的推文表明这个属性没有任何影响。
我有后期处理抓取的数据,发现数据库(hbase)中总共有14000个域,其中超过50%的域未被Nutch抓取(他们的文档具有获取状态代码0x01)。为什么这样。如何改变nutch以考虑新的域名,即以某种方式获取所有域应该是公平的。
答案 0 :(得分:0)
你是如何进行爬行的? bin / crawl具有确定深度的功能(链接跟随)。您可以通过使用bin / nutch和参数来获得良好的结果,并且根据您所需的网站大致总大小,您应该每3000页至少运行一次。这意味着如果您有18000个页面(包括链接检索的页面),您将运行1800/3 = 6次以获得完整数据。