如何使用 Jsoup 搜索评论(“”)?
我想从源 HTML 中删除这些标签及其内容。
I would like to remove those tags with their content from source HTML.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想从源 HTML 中删除这些标签及其内容。
I would like to remove those tags with their content from source HTML.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
搜索时,您基本上使用
Elements.select(selector)
,其中selector
由 此 API。然而,从技术上讲,注释并不是元素,因此您可能会感到困惑,它们仍然是由节点名称#comment
标识的节点。让我们看看它是如何工作的:
When searching you basically use
Elements.select(selector)
whereselector
is defined by this API. However comments are not elements technically, so you may be confused here, still they are nodes identified by the node name#comment
.Let's see how that might work:
使用 JSoup 1.11+(可能是旧版本),您可以应用过滤器:
With JSoup 1.11+ (possibly older version) you can apply a filter:
参考@dlamblin https://stackoverflow.com/a/7541875/4712855此代码获取评论html
reference @dlamblin https://stackoverflow.com/a/7541875/4712855 this code get comment html
基于 @dlamblin 的答案,Java 8 函数式方法(抱歉,但这似乎比 @Feuerrabe 的答案更简单、更清晰)
Based on the answer from @dlamblin a Java 8 functional approach (sorry but this seems to be a littler simpler and cleaner than the aswer from @Feuerrabe)
这是使用函数式编程方法的第一个示例的变体。查找所有注释(当前节点的直接子节点)的最简单方法是在
.childNodes()
流上使用.filter()
完整示例:
}
This is a variation of the first example using a functional programming approach. The easiest way to find all comments, which are immediate children of the current node is to use
.filter()
on a stream of.childNodes()
Full example:
}