【问题标题】:how to inject urls found during crawl into nutch seed list如何将抓取过程中找到的 url 注入 nutch 种子列表
【发布时间】:2017-10-12 03:39:07
【问题描述】:

我在 CentOS Linux 版本 7.3.1611 上集成了 nutch 1.13 和 solr-6.6.0 我在 /usr/local/apache-nutch-1.13/urls/seed.txt 的种子列表中给出了大约 10 个 url关注tutorial 我使用的命令是

/usr/local/apache-nutch-1.13/bin/crawl -i -D solr.server.url=httpxxx:8983/solr/nutch/ /usr/local/apache-nutch-1.13/urls/ crawl 100

  1. 它似乎运行了一两个小时。我在 solr 中得到了相应的结果。但在抓取阶段,似乎在终端屏幕中获取并解析了很多 url。为什么不将它们添加到种子列表中。?

2.如何知道我的crawldb是否在增长?大约一个月了,我在 solr 上获得的唯一结果来自种子列表及其链接。

3.我在 crontab -e 和 plesk 计划任务中设置了上述命令。现在我多次获得相同的链接以换取搜索查询。如何避免solr中的重复结果?

我是个新手,任何其他信息都会有所帮助。

【问题讨论】:

    标签: apache solr web-crawler nutch


    【解决方案1】:

    1.它似乎运行了一两个小时。我在 solr 中得到了相应的结果。但在抓取阶段,似乎在终端屏幕中获取并解析了很多 url。为什么不将它们添加到种子列表中?

    nutch 不会修改种子文件,它只是作为注入阶段的只读用途。

    2.如何知道我的crawldb是否在增长?

    你应该看看readdb -stats 选项,你应该得到这样的东西

    crawl.CrawlDbReader - Statistics for CrawlDb: test/crawldb
    crawl.CrawlDbReader - TOTAL urls: 5584
    crawl.CrawlDbReader - shortest fetch interval:    30 days, 00:00:00
    crawl.CrawlDbReader - avg fetch interval: 30 days, 01:14:16
    crawl.CrawlDbReader - longest fetch interval:     42 days, 00:00:00
    crawl.CrawlDbReader - earliest fetch time:        Tue Nov 07 09:50:00 CET 2017
    crawl.CrawlDbReader - avg of fetch times: Tue Nov 14 11:26:00 CET 2017
    crawl.CrawlDbReader - latest fetch time:  Tue Dec 19 09:45:00 CET 2017
    crawl.CrawlDbReader - retry 0:    5584
    crawl.CrawlDbReader - min score:  0.0
    crawl.CrawlDbReader - avg score:  5.463825E-4
    crawl.CrawlDbReader - max score:  1.013
    crawl.CrawlDbReader - status 1 (db_unfetched):    4278
    crawl.CrawlDbReader - status 2 (db_fetched):      1014
    crawl.CrawlDbReader - status 4 (db_redir_temp):   116
    crawl.CrawlDbReader - status 5 (db_redir_perm):   19
    crawl.CrawlDbReader - status 6 (db_notmodified):  24
    

    我经常做的一个好办法是把这个命令放在 nutch (bin/crawl) 提供的爬取脚本中,在循环中

    for for ((a=1; ; a++))
    do
    ...
    > echo "stats"
    > __bin_nutch readdb "$CRAWL_PATH"/crawldb -stats
    done
    

    大约一个月了,我在 solr 上获得的唯一结果来自种子列表及其链接。

    原因是多方面的,你应该检查每个阶段的输出,看看漏斗是怎么回事。

    3.我在 crontab -e 和 plesk 计划任务中设置了上述命令。现在我多次获得相同的链接以换取搜索查询。如何避免 solr 出现重复结果?

    猜你使用的是 nutch 默认的 solr 架构,检查 url 与 id 字段。 据我所知, id 是 url 的唯一标识符(可能内容重定向)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多