网页正文提取工具:Readability

从网页中提取出主要内容,一直是一个比较有挑战的算法。Readability是其中一个很不错的实现。Readability之前是开源的,后来不再公开了,这里还有当初的开源版本可以参考:arc90labs-readability – Readability cleans up hard-to-read articles on the Web

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

可以看到,标签和文字都有加权或降权分组。整个内容分析是通过grabArticle函数来实现的。首先开始遍历节点:

然后将不像内容的元素去掉:

将DIV替换为P标签后,再对目标节点进行遍历,进行计分:

最后根据分值,重新拼接内容

可以看到,里边用到了很多很trick的技巧,比如25字以下的段落不计分。目前已经有很多其他语言的版本,但是考虑到原始功能是针对的英文页面进行设计的。在移植过程中需要考虑:

  • 支持GBK, GB2312等编码
  • 支持更多的视频网站,比如优酷、土豆等
  • 支持提取文章标题
  • 支持图片相对路径转成绝对路径

目前收集到的比较好的移植版本为:

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

使用Python检测符号及乱码字符

最近在进行关键词的分析,中间涉及到对一些特殊的字符进行过滤的需求。包括带符号的(有部分还是SQL注入),并且存

PHP版本升级记录(7.0到7.4)

服务器上原先安装的版本为PHP 7.0.33, WordPress后台建议安装的最小版本为7.3,所以打算直接

WordPress LaTeX插件更换记录

由于自己的博客要插入很多的公式,所以需要依赖LaTeX插件来帮忙实现。先前一直使用的是WP QuickLaTe

发表评论

电子邮件地址不会被公开。 必填项已用*标注