当前位置: 首页 > 面试题库 >

如何仅从HTML页面提取主要文本内容?

步博艺
2023-03-14
问题内容

更新资料

Boilerpipe看起来确实工作得很好,但是我意识到我并不需要主要内容,因为许多页面上没有文章,而只是带有简短描述的链接到整个文本(这在新闻门户网站中很常见),并且我不想丢弃这些短裤文字。

因此,如果API执行此操作,请获取不同的文本部分/以某种方式将每个部分分开的块,这些块与单个文本不同(仅在一个文本中没有用),请报告。

问题

我从随机站点下载了一些页面,现在我想分析页面的文本内容。

问题是网页上有很多内容,例如菜单,宣传,标语等。

我想尝试排除与页面内容无关的所有内容。

以该页面为例,我不希望页脚中的链接上方的菜单。

重要提示: 所有页面均为HTML,并且是来自不同站点的页面。我需要如何排除这些内容的建议。

目前,我认为是从HTML和看起来像专有名称(第一个大写字母)的连续单词中排除“菜单”和“横幅”类中的内容。

解决方案可以基于文本内容(不带HTML标签)或基于HTML内容(带HTML标签)

编辑: 我想在我的Java代码中执行此操作,而不是在外部应用程序中执行此操作(如果可以的话)。


问题答案:

看一看Boilerpipe。它旨在完全满足您的需求,消除网页主要文本内容周围多余的“混乱”(样板,模板)。

有几种方法可以将HTML馈入Boilerpipe并提取HTML。

您可以使用URL:

ArticleExtractor.INSTANCE.getText(url);

您可以使用String:

ArticleExtractor.INSTANCE.getText(myHtml);

还有一些使用Reader的选项,这会打开很多选项。



 类似资料:
  • 问题内容: 我正在用Java开发一个应用程序,该应用程序可以从不同的网页获取文本信息并将其汇总为一页。例如,假设我在不同的网页(例如印度教,印度时报,政治家等)上都有新闻。该应用程序应该从这些页面的每个页面中提取要点,并将它们整合为一条新闻。该应用程序基于Web内容挖掘的概念。作为该领域的初学者,我不知道从哪里开始我浏览了一些研究论文,这些论文将消除噪声作为构建此应用程序的第一步。 因此,如果给我

  • 我有一个Excel工作表,其中一栏填充了专利号。我需要提取每个相应专利的标题,并将其放在专利号旁边的单元格中。因此,代码应执行以下操作: 访问espacenet.com并打开需要名称的专利号。 获取标题。 将其放在所需单元格的Excel工作表中。 这是一个完美适用于第一个专利号的代码,但在这之后会立即出现错误。错误显示:“运行时错误'-2147417848(80010108)': 自动化错误调用的

  • 问题内容: 我正在使用此代码检索本页主要文章中的文本。 问题是textview中没有显示任何内容。我要检索的文字都没有出现。Log.i与调试日志中的段一起显示。因此,我知道其连接成功。只是不知道为什么即时通讯没有在textview中获取任何文本。 问题答案: 以下是您问题的相关摘要: 您在这里犯了一个根本性的错误。文档中没有HTML标签。但是,有一个。根据有关Jsoup食谱一半的CSS选择器概述,

  • 问题内容: 我正在从html文件中读取文本并进行一些分析。这些.html文件是新闻文章。 码: 现在,我只想要文章的内容,而不是广告,标题等文本的其余部分。我如何在python中相对准确地做到这一点? 我知道一些工具,例如Jsoup(java API)和bolier,但我想在python中这样做。我可以找到一些使用bs4的技术,但仅限于一种类型的页面。我有来自众多来源的新闻页面。另外,也没有任何示

  • 问题内容: 我正在开发一个程序,该程序可以下载HTML页面,然后选择一些信息并将其写入另一个文件。 我想提取段落标签之间的信息,但是我只能获得段落的一行。我的代码如下: 我试图添加另一个while循环,这样可以告诉程序继续写入文件,直到该行包含该标记为止; 问题答案: so 我真正喜欢使用的另一个html解析器是jsoup。您可以 在2行代码中获得所有元素。 然后再将其写到文件中 或者,如果您希望

  • 问题内容: 我正在寻找一种使用jdk或其他库从网页(最初为html)提取文本的方法。请帮忙 谢谢 问题答案: 尽可能使用HTML解析器;Java有很多可用的。 或者您可以像许多人一样使用正则表达式。但是,通常不建议这样做,除非您进行的处理非常简单。 相关问题 Java HTML解析 哪种HTML解析器最好? 任何好的Java HTML解析器? 文字提取: 从HTML Java提取文本 标签剥离: