读者体验对于网站的重要性越来越被人们所认识到。好的阅读体验不仅可以提高用户留存率,也可以提高网站的排名,增加网站的流量。然而,一般来说,检测和提高阅读体验的过程是比较复杂的,需要借助各种技术手段。而这时,npm 包 readability-ilkkah 可以帮助我们解决这个问题。
什么是 readability-ilkkah
readability-ilkkah 是一个 JavaScript 库,它可以从一个 Web 页面中提取可读性最高的主要内容和有用信息。利用这个库,我们可以实现以下功能:
- 去除页面中杂乱无章的内容,只提取主要内容,从而使得页面更加易读。
- 自动调整页面的字体大小,以适应用户的设备,提高用户的阅读体验。
- 提供各种其他信息,比如作者、发表时间、图片等。
该库是一个无依赖、体积小巧的 npm 包,便于我们集成到自己的项目中去。
如何使用 readability-ilkkah
使用 readability-ilkkah 非常简单,我们只需要安装该包,通过 API 调用即可。下面是一个基本的示例代码:
-- -------------------- ---- ------- ----- ----------- - ----------------------------- ----- ------ - --- ------------- ---------------------- -- -- -------- ------- ---- -- -- ----------------------------- - ---- - ----------------------- ------------------ -------------------- - ---- - ------------------------ -
在上面的代码中,我们首先创建了一个 Readability 实例,然后通过 parse
方法将需要解析的 HTML 数组传递进去。最后,我们可以通过 getTitle
和 getArticle
方法获取提取出来的主要内容和标题。
需要注意的是,readability-ilkkah 实际上是一个基于第三方库 Mozilla's readability.js 修改而来的,因此我们需要引入其依赖库 jsdom
和 node-libs-browser
,如下代码所示:
const jsdom = require('jsdom') const { JSDOM } = jsdom global.window = new JSDOM('', { url: 'https://example.org/' }).window global.document = window.document global.navigator = window.navigator const Readability = require('readability-ilkkah')
在上面的代码中,我们使用了 jsdom
模拟了一个浏览器环境,以便 Readability
能够正常运行。
可以实现哪些功能
除了上面提到的简单的示例代码,我们还可以实现以下功能:
1. 获取发布时间
Readability 实例提供了 getPublishedDate
方法,可以获取发布时间。如果网页上没有明确的发布时间,该方法会返回 null。
console.log('发布时间:', reader.getPublishedDate())
2. 获取作者信息
Readability 实例提供了 getAuthor
方法,可以获取作者信息。如果网页上没有作者信息,该方法会返回 null。
console.log('作者信息:', reader.getAuthor())
3. 获取摘要信息
Readability 实例提供了 getExcerpt
方法,可以获取摘要信息。如果网页上没有摘要信息,该方法会返回 null。
console.log('摘要信息:', reader.getExcerpt())
结尾
到此为止,我们已经介绍了如何使用 npm 包 readability-ilkkah,并且对于一些基本的 API 进行了详细的讲解。这个库可以帮助我们提高人机交互时候的阅读体验,同时也可以帮助我们实现一些基本的爬虫功能。如果您想要了解更多关于 npm 包 readability-ilkkah 的详细信息,可以访问它的官方网站:https://www.npmjs.com/package/readability-ilkkah。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055eba81e8991b448dc6e5