首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stormcrawler XPathFilter -内部表示

Stormcrawler XPathFilter -内部表示
EN

Stack Overflow用户
提问于 2018-11-29 19:38:09
回答 1查看 121关注 0票数 0

当Stormcrawler获取网站时,它会将已配置的XPathFilter应用于非原始的HTML表示。例如,标签被插入,或者DIVs将变成H3,等等。例如,下面的配置将HTML代码放在Elasticsearch中,这不是原始的:

代码语言:javascript
复制
 {
   "com.digitalpebble.stormcrawler.parse.ParseFilters": [
   {
   "class": "com.digitalpebble.stormcrawler.parse.filter.XPathFilter",
   "name": "XPathFilter",
   "params": {
    "canonical": "//*[@rel=\"canonical\"]/@href",
    "parse.html": [
        "//HTML"
     ]
   }
 },
{
  "class": "com.digitalpebble.stormcrawler.parse.filter.DomainParseFilter",
  "name": "DomainParseFilter",
  "params": {
    "key": "domain",
    "byHost": false
   }
  }
 ]
}

这使得很难基于网站的原始源代码编写XPath表达式。有没有办法将Stormcrawler配置为在原始网站源代码上应用XPathFilter表达式?

EN

回答 1

Stack Overflow用户

发布于 2018-11-29 20:24:51

您使用的是哪个版本的StormCrawler?你是使用Tika进行解析,还是使用Jsoup?AFAIK Jsoup不会修改内容,但Tika可能会这样做。我建议对HTML内容使用基于JSoup的ParserBolt,对其他内容使用Tika。

您可以使用DebugParseFilter查看DOM的外观。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53538185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档