PHP 版本的 Readability 库

    技术2022-05-20  72

    转载自:http://www.gracecode.com/archives/3061/

    阅读是汲取知识的途径之一,但烦杂的网页提了额外我们诸多不需要的信息,这有时候非常干扰我们阅读。回归阅读 内容的本身,其实通过Readability 这个脚本 就能抽取页面的主体内容。

    不过,Readability 提供的仅仅是个 Bookmarklet,如果我们需要将其导出、打印等操作时就显 得捉衿见肘。需求驱动行动,于是就有了这个 PHP 库 。PS,同时您还可以找到 .net 版本的 Readability ,以及 node.js 版本的 Readability 。

    这个库能做的事情非常的简单,就是找到页面的主体内容并返回。调用这个库非常的容易,实例代码如下:

    require 'lib/Readability.inc.php'; $Readability = new Readability($html, $html_input_charset); // default charset is utf-8 $ReadabilityData = $Readability->getContent(); echo "<h1>".$ReadabilityData['title']."</h1>"; echo $ReadabilityData['content'];

    如果您不在意技术本身,那么这里有个现成的线上工具 。只需要粘贴入需要阅读的网页链接,这个工具就能够重新生成适合阅读的页面(例如: 原页面 、Readability 以后的页面 )。

    然后利用 Mac 的 pdf 打印输出功能,就能非常方便在 kindle 等阅读器上使用。

    Q&A

    输出的页面似乎有乱码?

    PHP Readability 库能够指定输入的字符编码并统一返回 utf-8 编码的字符串。如果您在处理过程中碰到了乱码问题,请调整下字符编码。如果还是有问题,欢迎您的反馈。

    有些页面提取内容失败或者提取不正确?

    Readability 提取的算法其实非常有限。如果页面本身的 HTML 标签不是非常合乎规范,那么提取可能会造成一定的困扰。通常这在国内的页面上会更常见些,同样欢迎您的反馈,这有利于我继续改进 PHP Readability 的算法。

    最后,希望这个库和工具能让你找回阅读的乐趣。

    -- EOF --


    最新回复(0)