html – 类Instapaper的算法

是否有人从网页中提取内容的算法?喜欢instapaper
Instapaper有两个步骤:

>在页面上查找主要内容块(不包括页眉,页脚,菜单等)
>从此内容块中提取并格式化文本

要找到内容块(通常是一些html块元素,像包含关键页面文本内容的div),Instapaper使用的算法非常类似于readability使用的算法。您可以查看source of readability.js以了解发生了什么,但在其核心它试图找到页面上具有最高文本/链接比率的区域,虽然它还有一些其他简单的得分度量(例如,我的头顶部,比如文本到逗号,para元素等比率)启发式。

一旦你确定根节点元素,相关的内容,你将需要格式化它,如果你想你可以拉包含文本的源文档的节点元素,并插入到你的,但在现实中你可能想要删除现有的样式并应用自己的样式,以获得标准的外观和感觉。如果你想输出为好的文本 – 只有你可以使用Jericho的Renderer

update1:​​我还应该提到Instapaper做的 – 它是文章的’分页’链接(“下一个”或“1”,“2”,“3”链接)可能跨越多个页面,原来会作为单个文档呈现给您。

update2我最近遇到了这个comparison of text extraction algorithms

http://stackoverflow.com/questions/4283418/instapaper-like-algorithm

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:html – 类Instapaper的算法