【问题标题】:How to recrawle nutch如何重新抓取 nutch
【发布时间】:2012-12-02 03:50:47
【问题描述】:

我正在使用与 mysql 集成的 Nutch 2.1。我已经爬取了 2 个站点,Nutch 成功爬取了它们并将数据存储到了 Mysql 中。我正在使用 Solr 4.0.0 进行搜索。

现在我的问题是,当我尝试重新抓取某些网站(如 trailer.apple.com 或任何其他网站)时,它总是抓取最后抓取的网址。甚至我已经从 seed.txt 文件中删除了最后抓取的 url 并输入了新的 Urls。但 Nutch 并没有抓取新的 Urls。

谁能告诉我,我到底做错了什么。

还请向我推荐任何可以帮助抓取视频和电影网站的 Nutch 插件。

任何帮助都会非常显着。

【问题讨论】:

    标签: nutch web-crawler


    【解决方案1】:

    你只需在属性标签下方添加你的 nutch-site.xml。它适用于我,,,,,,,检查它.............

    <property> <name>file.crawl.parent</name> <value>false</value> </property

    你只需更改 regex-urlfilter.txt

    # 跳过文件:ftp: 和 mailto: urls #-^(file|ftp|mailto):
    # 接受任何其他 +。

    删除该索引目录手动或命令后也喜欢.. rm -r $NUTCH_HOME/indexdir

    在运行你的爬虫命令后...........

    【讨论】:

      【解决方案2】:

      我也有同样的问题。 Nutch 仅重新抓取旧的 url,即使它们不存在于 seed.txt 中。

      当我第一次启动 nutch 时,我会执行以下操作:

      • 在 /root/Desktop/apache-nutch 2.1/runtime/local/urls/seed.txt 中添加域“www.domain01.com”(不带引号)

      • 在/root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter.txt,添加新行:

        # 接受其他任何内容
        ^http://([a-z0-9]*.)*www.domain01.com/sport/

      • 在 /root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt 中,添加新行:

        # 接受其他任何内容
        ^http://([a-z0-9]*.)*www.domain01.com/sport/

      ...一切都很好。

      接下来我做了以下更改:

      • 从 /root/Desktop/apache-nutch-2.1/runtime/local/urls/seed.txt 中删除 www.domain01.com 并添加两个新域:www.domain02.com 和 www.domain03.com

      • 从 /root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter.txt 中删除 www.domain01.com 并添加两个新行:

        # 接受其他任何内容
        ^http://([a-z0-9]*.)www.domain02.com/sport/
        ^http://([a-z0-9]
        .)*www.domain03.com/sport/

      • 从 /root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt 中删除 www.domain01.com 并添加两个新行:

        # 接受其他任何内容
        ^http://([a-z0-9]*.)www.domain02.com/sport/
        ^http://([a-z0-9]
        .)*www.domain03.com/sport/

      接下来我执行以下命令:

      updatedb
      bin/nutch inject urls
      bin/nutch generate urls
      bin/nutch updatedb
      bin/nutch crawl urls -depth 3
      

      nutch 还在爬 www.domain01.com

      不知道为什么?

      我在 Linux Debian 6.0.5 (x64) 上使用 Nutch 2.1。并且 linux 在 Windows 7 (x64) 上的虚拟机上启动。

      【讨论】:

      • 我解决了这个问题。在 /root/Desktop/apache-nutch-2.1/runtime/local/conf/regex-urlfilter.txt 和 /root/Desktop/apache-nutch-2.1/conf/regex-urlfilter.txt 我只是删除域前的空格. before: # 接受其他任何内容 ^http://([a-z0-9]*.)www.domain02.com/sport/ ^http://([a-z0-9].)*www.domain03. com/sport/ after: # 接受其他任何内容 ^http://([a-z0-9]*.)www.domain02.com/sport/ ^http://([a-z0-9].)* www.domain03.com/sport/ 现在 nutch 抓取新的 URL。
      【解决方案3】:

      这篇文章有点过时了,但在大多数情况下仍然有效:http://pascaldimassimo.com/2010/06/11/how-to-re-crawl-with-nutch/ 也许最后爬取的页面是变化最大的页面。 Nutch 使用自适应算法来安排重新抓取,因此当页面非常静态时,不应该经常重新抓取。您可以使用 nutch-site.xml 覆盖您想要重新抓取的频率。此外,seed.txt 文件应该是一个种子列表,一旦您注入 URL,Nutch 就不再使用它(除非您再次手动重新注入)

      另一个可能有帮助的配置是你的 regex-urlfilter.txt,如果你想指向一个特定的地方或排除某些域/页面等。

      干杯。

      【讨论】:

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