10

我正在寻找允许从网站提取文本的算法。我的意思不是“剥离 html”,或者数百个允许这样做的库中的任何一个。

例如,对于一篇新闻文章,我想识别标题和所有文本,而不是评论部分等等。

那里有任何算法吗?谢谢!

4

5 回答 5

11

在计算机科学文献中,这个问题通常被称为页面分割样板检测问题。请参阅报告Boilerplate Detection using Shallow Text Features及其相关博客文章。另外,我有一些报告和软件站点已添加书签来解决该问题。另外,请参阅stackoverflow 问题。

于 2011-04-23T02:35:39.907 回答
1

您正在尝试做的事情称为“内容提取”。事实证明,要很好地解决这个问题非常困难,而且许多幼稚的解决方案做得很糟糕。

InstapaperReadability都必须解决这个问题,你可以从他们的解决方案中学到一些东西。他们还提供您可以利用的服务——也许您可以将您的问题外包给他们,让他们的 API 处理它。:)

如果做不到这一点,搜索“ html 内容提取”会返回大量有用的结果,包括有关该主题的大量论文。

于 2011-04-22T04:00:13.613 回答
1

有一些开源工具可以执行类似的文章提取任务。 https://github.com/jiminoc/goose 由 Gravity.com 开源

它包含有关 wiki 的信息以及您可以查看的源代码。有几十个单元测试显示从各种文章中提取的文本。

于 2011-05-08T16:06:31.733 回答
0

“内容提取”是一个非常困难的话题。没有通用的标准来识别“主文章”的内容(有几种方法可以使 HTML 更容易被爬虫读取,例如schema.org,但这些方法都不是很常用)。

所以事实证明,如果你想要好的结果,最好为你想要抓取的每个(新闻)网站定义你自己的XPath选择器。虽然有一些用于 HTML 内容提取的 API,但正如我所说,开发适用于每个站点的算法非常困难。

您可以使用的一些 API:

alchemyapi.com
diffbot.com锅炉管
web.appspot.com
aylien.com
textracto.com

于 2016-09-30T17:00:08.593 回答
-2

我认为你最好的拍摄是研究你可以从元数据中获得什么信息并编写一个好的 html 解析器,oEmbed 可能是一个很好的标准 =)

https://oembed.com/#section7

于 2018-04-23T21:52:04.523 回答