我正在使用 Nutch 2.0 抓取一些网站,但我没有看到 HTML 元标记,如标题、描述被提取并存储在 MySQL 数据库中。知道我怎样才能让它工作吗?
谢谢阿拉什
确保在您的定义中包含parse-metatags
和index-metadata
插件plugin.includes
nutch-site.xml
然后添加metatags.names
index.parse.md
和index.content.md
属性并将它们指向适当的标签。看看我的:
<property>
<name>plugin.includes</name>
<value>protocol-http|protocol-httpclient|urlfilter-regex|parse-(html|tika|metatags)|index-(basic|anchor|metadata)|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
</property>
<property>
<name>metatags.names</name>
<value>*</value>
</property>
<property>
<name>index.parse.md</name>
<value>metatag.description,metatag.author,metatag.twitter:image</value>
</property>
<property>
<name>index.content.md</name>
<value>author,description,twitter:image</value>
</property>
测试您的配置。我针对 readwrite.com 上的一篇文章进行了这个测试:
bin/nutch indexchecker http://readwrite.com/2013/03/20/whats-behind-china-attacks-on-apple-and-android
输出将告诉您是否正在解析正确的值。就我而言,我想要author
,description
并且twitter:image
:
fetching: http://readwrite.com/2013/03/20/whats-behind-china-attacks-on-apple-and-android
parsing: http://readwrite.com/2013/03/20/whats-behind-china-attacks-on-apple-and-android
contentType: text/html
content : What's Really Behind China's Attacks On Apple And Android? – ReadWrite Sections Sections Social Mobi
title : What's Really Behind China's Attacks On Apple And Android? – ReadWrite
host : readwrite.com
metatag.author : Brian S Hall
tstamp : Wed Mar 20 13:33:38 EDT 2013
metatag.twitter:image : http://readwrite.com/files/styles/150_150sc/public/fields/China%20graphic%20brian%20final.jpg
metatag.description : Repeated outbursts suggest China could be growing concerned over America's dominance in the smartpho
url : http://readwrite.com/2013/03/20/whats-behind-china-attacks-on-apple-and-android
缺点是parse-metatags
只会按名称而不是属性匹配标签。例如<meta name="foo" content="bar">
很好,而像这样的 Open Graph 标签<meta property="og:image" content="http://readwrite.com/sample.jpg" />
会丢失。
Index-Metatags 插件不包含在 2.x 系列中。请查看http://wiki.apache.org/nutch/Nutch2Plugins了解更多信息。那里有一个补丁可以使插件适用于 2.x 系列。
正如上述作者在评论中指出的那样,1.6 是目前 Nutch 的稳定版本。
查看有关 Nutch 2.x
的最新补丁
虽然我可以将元数据存储在数据库中,但我不知道如何将其传输到 Solr。