1

我正在使用 Storm crawler 1.10 和 Elastic Search 6.3.x。我在配置中添加了 http.content.limit=-1。爬虫运行良好,当我检查结果函数和 css 数据显示在索引中时。是否有可能在 parserfilter.json 中应用 xpath 过滤器(例如:<script><style>)或任何其他限制爬虫以避免这些的建议。我正在分享一些记录中显示的示例数据。

 document.getElementById('cloak6258804dfa0d517eaedf4b69a99ed997').innerHTML = '';
                var prefix = '&#109;a' + 'i&#108;' + '&#116;o';
                var path = 'hr' + 'ef' + '=';
                var addy6258804dfa0d517eaedf4b69a99ed997 = '&#97;dm&#105;ss&#105;&#111;ns' + '&#64;';
                addy6258804dfa0d517eaedf4b69a99ed997 = addy6258804dfa0d517eaedf4b69a99ed997 + '&#97;&#117;k' + '&#46;' + '&#111;rg';
                var addy_text6258804dfa0d517eaedf4b69a99ed997 = '&#97;dm&#105;ss&#105;&#111;ns' + '&#64;' + '&#97;&#117;k' + '&#46;' + '&#111;rg';document.getElementById('cloak6258804dfa0d517eaedf4b69a99ed997').innerHTML += '<a ' + path + '\'' + prefix + ':' + addy6258804dfa0d517eaedf4b69a99ed997 + '\'>'+addy_text6258804dfa0d517eaedf4b69a99ed997+'<\/a>'
4

1 回答 1

1

XPathFilter不同的用途,即从 Xpath 表达式中提取元数据。还有一个更接近您需要的ContentFilter,因为它允许您将提取的文本的范围限制为一组 xpath,但是它没有给您一种过滤特定标签并保留其他所有内容的方法。

在这个阶段你最好的选择可能是使用基于 Tika 的 ParserBolt:它可以配置一个映射器实现,默认情况下设置为 identityMapper,但可以使用 Tika 或你自己提供的任何其他实现,请参阅HTML 映射器上的 Tika 文档

随意在 GH 上打开一个问题,请求一种新类型的 parseFilter 来排除一些 HTML 元素,因为这可能很有用。我们有一个与 googleon / googleoff 标签相关的问题,这可能是实现它的一种方式。

编辑:我们已经发布了 TextExtractor,请参阅StormCrawler 1.13 发布公告

于 2018-10-22T09:35:24.860 回答