我正在使用Nutch来抓取网站,我想解析Nutch抓取的html页面的特定部分.例如,
<h><title> title to search </title></h>
<div id="abc">
content to search
</div>
<div class="efg">
other content to search
</div>
Run Code Online (Sandbox Code Playgroud)
我想用id ="abc"和class ="efg"来解析div元素,依此类推.
我知道我必须创建一个自定义解析的插件,因为Nutch提供的htmlparser插件删除了所有的html标签,css和javascript内容,只留下文本内容.我参考了这个博客http://sujitpal.blogspot.in/2009/07/nutch-custom-plugin-to-parse-and-add.html但我发现这是用于解析html标签,而我想解析具有特定值的属性的html标记.我发现杰里科被提到对解析特定的html标签很有用,但我可以找到任何与杰里科相关的nutch插件的例子.
我需要一些关于如何根据具有特定值的属性的标签来设计解析html页面的策略的指导.
您可以使用此插件根据css规则从页面中提取数据:
https://github.com/BayanGroup/nutch-custom-search
在您的示例中,您可以通过以下方式配置它:
<config>
<fields>
<field name="custom_content" />
</fields>
<documents>
<document url=".+" engine="css">
<extract-to field="custom_content">
<text>
<expr value="#abc" />
</text>
<text>
<expr value=".efg" />
</text>
</extract-to>
</document>
</documents>
</config>
Run Code Online (Sandbox Code Playgroud)