印象笔记 源码分享

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

举例说明
http://mil.sohu.com/20120903/n352165349.shtml
对于广告过滤
保留的视频
Q&A
印象笔记-悦读源码分享
时间:2012.09.03
Damon
ຫໍສະໝຸດ Baidu
数据处理的大概流程
获取body标 签的NODE 递归解析body的node下 的DOM,解析成DOM对 象,生成相应的属性
对DOM解析来的属性进行相应 的判断、筛选 格式化输出提 取的内容 根据正文的DOM 找 出文章的标题 得出正文的DOM 对象
按照得分进行排序
根据正文查找文章标题
查找正文 上面的 DOM H标签内 容是文章 标题
是 判断正文 <h1|h2 h3|h4 …>内 容是否和 title内容相 同 否

从正文平级的DOM开始, 依次向上查找<h1|h2 h3|h4 …>标签内容。如 果有作为标题
获取正文 当前页面 的title
按照计分进行排序
得出符合条件的正 文DOM
对符合正文条件的 DOM进行计分
解析BODY标签下的DOM
函数 $R.getContent__exploreNodeAndGetStuff(_pageWindow.document.body) 解析当前页面的标签Body的内容 函数_recursive(_child)为递归函数,对子节点进行递归遍历和解析 其他作用:对标签按照一定的规则生成DOM对象。也就是解析生成DOM文档。
解析后的 DOM文档格 式
筛选候选DOM
参加筛选的DOM标签
关于计分
根据第一次DOM递归解析生成 相应的更加详细的属性
计分函数
然后依次根据text above、 text above、links outer、links inner、 和“candidates, containers, pieces” 等进行计算points
如果都没有查找, 则没有标题
如果没有查找到,利用title的标 签值作为标题
关于_count__plain_words
介绍关于带下一页的内容抓取
levenshtein 一个快速、高效的Levenshtein算法实现
levenshtein算法解释
步骤3-6,当 i = 1 步骤1、2
步骤3-6, i = 5 步骤3-6, i = 2
相关文档
最新文档