【问题标题】:Apache Nutch not crawling all websites in in-linksApache Nutch 未抓取内链接中的所有网站
【发布时间】:2018-05-08 07:30:01
【问题描述】:

我已经为 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 以考虑新域,即,它应该以某种方式对所有域公平以获取。

【问题讨论】:

    标签: web-crawler nutch nutch2


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多