0

我已经为 Apache Nutch 2.3.1 配置了 Hadoop/Hbase 生态系统。以下是配置信息。

<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 分,但我的 tweeking 显示这个属性根本没有影响。

我对抓取的数据进行了后期处理,发现数据库(hbase)中总共有 14000 个域,其中超过 50% 的域没有被 Nutch 抓取(他们的文档的获取状态代码为 0x01)。为什么会这样。如何更改 nutch 以考虑新域,即,它应该以某种方式对所有域公平以获取。

4

1 回答 1

0

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

于 2018-06-14T21:10:40.563 回答