给定一个包含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));

#1楼 票数:2 已采纳

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

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

#2楼 票数:0

您可以使用HTML Selectors,例如class,id,paragraph等。您可以通过调用.HTML使用.text(),HTML来获取文本。 我之前抓了一个网站你可以看看这里 它有点乱,但它会帮助你。

是一个很好的教程

  ask by blue-sky translate from so

未解决问题?本站智能推荐:

2回复

从Wikipeda中提取文章的文本

我正在编写一些Java代码,以获取某些Wikipedia文章的原始文本(给出jList单词,在Wikipedia中搜索它们并提取相应文章的第一句)。 我的GUI包含一个按钮,我为其定义了以下动作侦听器: WikipediaParser类: 执行将生成以下异常列表: 需要帮助来解决这
1回复

使用Java将复杂HTML表中的数据提取到2d数组

如何将带有colspan和rowspan的 HTML表转换为Java中的2d数组(martix)? 我在Python和jQuery中找到了很好的解决方案但在Java中找不到(只有非常简单的表通过jsoup)。 有一个非常好的XSLT解决方案,但由于格式错误的输入HTML文件,我不适合。
3回复

从网页中仅提取有意义的文本

我正在获取网址列表,并使用nltk对其进行抓取。 我的最终结果是列表形式,网页上的所有单词都在列表中。 麻烦的是,我只在寻找不是常用的英语“糖”字词的关键字和词组,例如“ as,and,like,to,am,for”等。我知道我可以用所有常见的文件构造文件英文单词,然后将其从我的已删除标记列
11回复

用于从有意义的文本中分离无意义文本的算法

我为我的一些程序提供了反馈功能。 不幸的是,我忘了包含某种垃圾邮件保护 - 所以用户可以将他们想要的任何内容发送到我的服务器 - 每个反馈都存储在一个巨大的数据库中。 一开始我定期检查这些反馈 - 我过滤掉了可用的和删除的垃圾。 问题是:我每天收到900条反馈。 只有4-5个真正有用,
4回复

如何判断单词在文本中是否没有意义?

我正在用Java创建一个微型搜索引擎,该引擎基本上可以捕获用户指定的所有RSS feed,然后允许他或她选择一个单词进行搜索。 由于RSS feed文档的数量相当有限,因此我正在考虑在用户输入其搜索词之前先处理这些文档。 我想通过创建将某些关键字链接到记录集合的哈希表来处理它们,这些记录包含
2回复

如何提取仅包含有意义文本的行

我有一个很大的Excel文件,如下所示: 我只想在“文本”列上工作,然后删除那些在“文本”列中基本上只是乱码的行(上例中的第2、4、5行)。 我只读第二列,如下所示: 如何删除乱码? 我有一个想法,我需要使用nltk并拥有一个正语料库(一个没有任何胡言乱语),一个负语料库(仅具有胡
2回复

使用EM算法对GMM进行文档或文本聚类,怎么办?

我正在尝试制作一个文档聚类的项目(使用Java)。 最多可以有100万个文档,我想创建一个无监督的集群。 为此,我正在尝试用高斯混合模型实现EM算法。 但是,我不确定如何制作文档向量。 我在想这样的事情,首先我将为文档中的每个单词计算TF / IDF(在删除停用词并完成词干之后)。
1回复

从庞大的文本语料库中删除停用词的最有效方法是什么?

我想知道从庞大的文本语料库中删除停用词的有效方法。 目前,我的方法是将停用词转换为正则表达式,以使文本行与正则表达式匹配并将其删除。 例如 有没有其他有效的方法可以删除巨大的小词句中的停用词。 谢谢