微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 给出html文件提取只是有意义的文本

给定一个包含css链接,图像链接等的标准html文件,如何才能提取有意义的文本?有意义的是指与页面相关的文本.所以在StackOverflow的情况下,问答文本.对于新闻网站来说,这将是故事的主体.

一种算法可能用于确定什么是句子:搜索在开头和结尾处包含大写字母的单词序列(粗略但只是开始的东西).

有哪些替代方案?

更新:@Vanaja Jayaraman建议的套管似乎效果很好.我需要为samppipe添加以下Maven依赖项

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.11.0</version>
</dependency>

<dependency>
    <groupId>net.sourceforge.nekohtml</groupId>
    <artifactId>nekohtml</artifactId>
    <version>1.9.21</version>
</dependency>

代码(Scala)提取文本:

  val source = scala.io.source.fromFile("c:\\news1.html")
  val lines = source.mkString
  source.close()
println(de.l3s.boilerpipe.extractors.ArticleExtractor.INSTANCE.getText(lines));

解决方法:

如果您的输入是新闻站点,则可以使用Boilerpipe文章提取器. Boilerpipe还提供其他一些提取器类型.

在JSoup中,您可以使用选择器概念.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐