当前位置: 首页 > 知识库问答 >
问题:

如何重新缝合纽扣

苍恩
2023-03-14

我正在使用与MySQL集成的Nutch 2.1。我已经抓取了2个站点,Nutch成功地抓取了它们,并将数据存储到MySQL中。我正在使用Solr4.0.0进行搜索。

现在我的问题是,当我尝试重新抓取像trailer.apple.com这样的站点或任何其他站点时,它总是抓取上次抓取的URL。甚至我已经从seeds.txt文件中删除了上次爬网的URL并输入了新的URL。但Nutch没有爬取新的URL。

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

另外,请建议我的任何Nutch插件,可以帮助爬行的视频和电影网站。

任何帮助都是值得的。

共有1个答案

谢鸿飞
2023-03-14

我也有同样的问题。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是在Windows7(x64)的虚拟机上启动的。

  •  类似资料:
    • 我正在尝试使用JavaCV 0.1和Java中的OpenCV 2.4.0拼接多个图像,我使用此代码来拼接图像: 注1:此示例中加载的图像是用于拼接的有效图像。 注意2:C版本的代码在当前配置上运行没有问题 在缝纫机中。缝合方法opencv引发断言异常,如“k==MAT”。我该如何解决这个问题?MatVector在这个示例代码中的用法正确吗? 谢谢

    • 我的公司正在使用重组作为我们的状态管理工具。我们正在重构应用程序以使用钩子。对于下面的代码,您将如何用react钩子组件替换recompose组件? 我理解withState变为useState,例如: 变成了 使用道具的

    • 这里一个非常常见的问题是如何执行upsert,MySQL称之为,标准支持将其作为操作的一部分。 鉴于PostgreSQL不直接支持它(在PG9.5之前),您如何做到这一点?考虑以下几点: 现在假设您要“upsert”元组,,那么新的表内容将是: 在Insert中,关于PostgreSQL中的重复更新?详细讨论了这个主题,但这是关于MySQL语法的替代方法,随着时间的推移,它增加了一些无关的细节。我

    • 从我迄今为止对他们的过程进行的拼凑来看,似乎有一个基于用户代理字符串的服务器端检查,该字符串检测浏览器类型,然后发送一些内容重定向到https://go.Microsoft.com/fwlink/?linkid=2135547,但同时打开Microsoft Edge并将其定向到https://twitter.com 让我感到困惑的是,他们如何打开Microsoft Edge,而不打开一个对话框,询

    • 这里一个非常常见的问题是如何执行upsert,MySQL称之为,标准支持将其作为操作的一部分。 鉴于PostgreSQL不直接支持它(在PG9.5之前),您如何做到这一点?考虑以下几点: 现在假设您要“upsert”元组,,那么新的表内容将是: 这就是人们在讨论时所谈论的。至关重要的是,在同一表上存在多个事务的情况下,任何方法都必须是安全的--要么使用显式锁定,要么以其他方式防止产生的竞争条件。

    • 现在的样子 我想用某种方式把它包装成这样 就像我想要的那样 HTML CSS