readability源码分析

2012年10月12日 由 admin 留言 »

From: http://stblog.baidu-tech.com/?p=79

以readability为例进行分析(http://code.google.com/p/arc90labs-readability),readability是一个js库,通过自动化提取算法对网页的dom树进行改写,并在浏览器上展现页面抽取后的网页。工作流程:

1.清除JavaScript,css等html标签

2.根据定义的规则集合过滤结点,根据id和class字符串特征进行过滤

3.结点权重计算

a) 结点类型调权

b)结点Id和Class特征调权

c)逗号分隔调权

d)文本长度调权

e) 权重向父母转移

f)链接文本比的权重调整

4.定位文本统领文本结点,兄弟结点考虑

ContentScore最大的结点作为文本统领结点Max;

对Max的兄弟结点进行尝试,contentScore满足一定阈值且满足一些强制要求者,加入到dom树中。

广告位

评论已关闭.