html提取正文,网页正文提取工具Readability

什么是Readability?

如果你在网上看到一篇不错的文章想收藏起来稍后再读,却又不想同时保存那一大堆花花绿绿的广告或无关紧要的一些网页元素,那么你可以试试 Readability 了!

Readability 是一个颇有特色的“稍后阅读”网络收藏夹服务,除了在你看到喜欢的文章时可以收藏下来之外,它最大的特点在于它能自动智能地剔除网页上一些不重要的元素并重新排版,仅为你呈现干净整洁的正文部分,使你的阅读体验更佳!它除了拥有主流浏览器的插件之外,还提供了 iOS/Android/Kindle 等移动版本的应用,可以同步到手机上随时随地高效舒适地阅读……

6d53019976eb83cef272409f3f27bdd8.png

Readability的实现原理

从网页中提取出主要内容,一直是一个比较有挑战的算法。

Readability通过遍历Dom对象,通过标签和常用文字的加减权,来重新整合出页面的内容。接下来我们就简单看看这个算法是如何实现的。首先,它定义了一系列正则:

regexps: {

unlikelyCandidates: /combx|comment|community|disqus|extra|foot|header|menu|remark|rss|shoutbox|sidebar|sponsor|ad-break|agegate|pagination|pager|popup|tweet|twitter/i,

okMaybeItsACandidate: /and|article|body|column|main|shadow/i,

positive: /article|body|content|entry|hentry|main|page|pagination|post|text|blog|story/i,

negative: /combx|comment|com-|contact|foot|footer|footnote|masthead|media|meta|outbrain|promo|related|scroll|shoutbox|sidebar|sponsor|shopping|tags|tool|widget/i,

extraneous: /print|archive|comment|discuss|e[\-]?mail|share|reply|all|login|sign|single/i,

divToPElements: /

replaceBrs: /(
]*>[ \n\r\t]*){2,}/gi,

replaceFonts: /]*>/gi,

trim: /^\s+|\s+$/g,

normalize: /\s{2,}/g,

killBreaks: /(
(\s| ?)*){1,}/g,

videos: /http:\/\/(www\.)?(youtube|vimeo)\.com/i,

skipFootnoteLink: /^\s*(\[?[a-z0-9]{1,2}\]?|^|edit|citation needed)\s*$/i,

nextLink: /(next|weiter|continue|>([^\|]|$)|»([^\

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值