Web crawler 使用Nutch转储外来图像
我正在尝试使用ApacheNutch转储完整的站点内容。对于来自同一域的html页面和图像,它工作正常,但不会转储来自其他站点的图像,例如,如果我有一个包含域Web crawler 使用Nutch转储外来图像,web-crawler,nutch,Web Crawler,Nutch,我正在尝试使用ApacheNutch转储完整的站点内容。对于来自同一域的html页面和图像,它工作正常,但不会转储来自其他站点的图像,例如,如果我有一个包含域foo.bar和内容的站点: Nutch只转储第一个图像(foo.bar/img),而不转储第二个图像(other.domain/img) 现在我使用的几乎是默认配置。如何配置nutch从其他域获取外来图像 更新: 我用Java代码运行Nutch,有4个解析周期, 这是我的核心代码:来自您共享的配置。我在nutch site.xml上看
foo.bar
和内容的站点:
Nutch只转储第一个图像(foo.bar/img
),而不转储第二个图像(other.domain/img
)
现在我使用的几乎是默认配置。如何配置nutch从其他域获取外来图像
更新:
我用Java代码运行Nutch,有4个解析周期,
这是我的核心代码:来自您共享的配置。我在
nutch site.xml
上看到了以下内容:
<property>
<name>db.ignore.external.links</name>
<value>true</value>
</property>
但是为了使这些设置正常工作,您需要启用urlfilter ignoreexport
插件。你可以看到
通过这种组合,您可以忽略所有外部链接,只需将符合豁免文件(您案例中的图像)规则的链接添加到爬网数据库中
由于您在Java进程中运行Nutch,我的建议是使用一个独立的本地Nutch设置,您可以在其中测试配置
bin/nutch语法检查器
、bin/nutch索引检查器
和bin/nutch插件
对调试非常有帮助。您可以(使用这些命令)使用特定的测试用例测试某些配置,而无需启动整个爬网(节省大量时间)。您是否可以在gist或类似文件中共享您的配置?有许多不同的设置可能会阻止Nutch跟随外部链接。您正在运行多个爬网周期吗?如果您发布用于运行Nutch的命令,将非常有用。@jorgelui这是指向Nutch配置文件的链接,我将用更多细节(周期等)更新问题
+(?i)\.(jpg|png|gif)$