Apache Nutch没有抓取in-links中的所有网站

时间:2018-05-08 07:30:01

标签: web-crawler nutch nutch2

我已经使用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以考虑新的域名,即以某种方式获取所有域应该是公平的。

1 个答案:

答案 0 :(得分:0)

你是如何进行爬行的? bin / crawl具有确定深度的功能(链接跟随)。您可以通过使用bin / nutch和参数来获得良好的结果,并且根据您所需的网站大致总大小,您应该每3000页至少运行一次。这意味着如果您有18000个页面(包括链接检索的页面),您将运行1800/3 = 6次以获得完整数据。