7

我正在使用 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>

我想用 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 标签。我发现 Jericho 被提到对解析特定的 html 标签很有用,但我可以找到任何与 Jericho 相关的 nutch 插件示例。

我需要一些关于如何根据具有特定值的属性的标签来设计解析 html 页面的策略的指导。

4

1 回答 1

6

您可以使用此插件根据 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>
于 2013-12-18T12:08:42.210 回答