在Nutch 2.x中提取HTML元标记并使用Solr 4索引它

时间:2013-03-19 16:17:46

标签: apache solr nutch

我正在使用Nutch 2.0抓取一些网站,但我没有看到HTML元标记,如标题,描述被提取并存储在MySQL数据库中。任何想法我怎么能让它工作?

由于 Arash的

4 个答案:

答案 0 :(得分:5)

请务必在parse-metatags

中的index-metadata定义中加入plugin.includesnutch-site.xml个插件

然后添加metatags.names index.parse.mdindex.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

输出将告诉您是否正在解析正确的值。就我而言,我想要authordescriptiontwitter: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">很好,而<meta property="og:image" content="http://readwrite.com/sample.jpg" />等开放图表标签将会丢失。

答案 1 :(得分:2)

查看Nutch的IndexMetaTags插件,从1.5版开始提供。

这将允许您指定要解析和索引的元标记。

注意:字段的名称必须以“元标记”为前缀。

您可以使用Nutch indexchecker

检查索引

答案 2 :(得分:0)

Index-Metatags插件不包含在2.x系列中。有关详细信息,请查看http://wiki.apache.org/nutch/Nutch2Plugins。那里有一个补丁使插件适用于2.x系列。

1.6是Nutch的稳定版本,正如上述作者在评论中指出的那样。

答案 3 :(得分:0)

看一下关于Nutch 2.x的latest patches
虽然我可以在数据库中存储元数据,但我无法弄清楚如何将其传输到Solr。