在现代前端开发中,使用 npm 包已经成为了一种标配化的工具。其中,bots-of-thrones 可以作为一个极佳的 npm 包来进行爬虫开发。本文将会对 bots-of-thrones 的使用方法以及开发时的一些注意点进行详细的介绍。
1. 安装 bots-of-thrones
bots-of-thrones 是一个在 Node.js 运行时环境中使用的 npm 包。因此,在开始使用该包之前,需要确认已经安装了 Node.js。在确认了 Node.js 的安装之后,使用以下命令进行安装:
--- ------- --------------- ------
这段命令会将 bots-of-thrones 安装在当前项目的 node_modules 目录下,并加入到 package.json 的依赖列表中。
2. 爬虫开发入门
bots-of-thrones 提供了一个极为简单的 API :
------------------------------------
要使用这个 API,首先要了解 crawlers 对象。它实际上就是一个函数,函数接受一个 URL 参数,返回一个 Promise,这个 Promise 里面包含了各种获取到的包含数据的对象。
具体来说,运行完成的 Promise 的数据类型为:
- ------ ------------ ----- ------------ -
3. 开始爬虫
在此之前,需要理解一下与爬虫有关的 HTML 基础知识。
首先是 HTML 库,通过使用类似于 cheerio 的库,可以对 HTML 进行提取,并且按照一定的规则进行分类。
cheerio 是一种 jQuery 的实现,它在服务器端执行,可以与 Node.js 等 JavaScript 运行时环境一起使用。它提供了常见的 DOM 操作 API,用于在服务器端解析 HTML 文档。我们使用类似于 jQuery 的选择器语法来提取 HTML 结构数据,并可以定义方法来处理这些数据,根据页面上的内容构建出一个数据对象。
下面是一个实现使用 bots-of-thrones 进行爬虫的代码示例:
----- ------- - ------------------- ----- ------- - ------------------- ----- - -------- - - --------------------------- ------ -- -- - --- - ----- ------- - ----- ----------------------------------- ----- ---- - ------- ------- ----- ----- -- -- -- ----- ----------------------- - ----- ----- --- --------- --- ------------------ -- ----- ----- -- -- - ----- ------- - - ---- ----- -------- - ------------- ------------ -------- -- ----- ------ ----- - -- ----- -------- - ----- ----------------- ----- - - ----------------------- ------------------------------------------ ------------------------------------ - ---------------------------- --- --- - ----- ----- - ------------------- - ----- -------- ---------------- - ------ --- ----------------- ------- -- - -------------------- ------- --------- ----- -- - -- ------- - ------ -------------- - ------ -------------- --- --- -
首先,我们对 https://zh.lipsum.com/ 发出了爬取请求,并将返回的每个元素中包含的 href 和 title 进行了拉平和切片。此处省略了某些基础用法讲解,读者请参阅官方文档。
对于每个元素,我们使用 getHtml 方法将 href 对应的数据下载下来。最后,使用 cheerio 构建了文档对象,并按照设定的规则进行提取。得到的数据对象作为最终的结果被打印出来。
4. 总结
bots-of-thrones 是一个非常流行的 npm 爬虫库,它提供了一种非常简单的 API,用于爬取 Web 页面。通过组合 Node.js 所提供的异步能力,使用 cheerio 等类似于 jQuery 的 npm 包进行 HTML 处理,实现的爬虫能够被应用在许多场景中,并可以为学习者提供相应的指导意义。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066c82ccdc64669dde4da4