前言
Harvestjs 是一个强大的前端 web 抓取工具,使用它可以方便地爬取数据、生成截图等。本文将介绍 harvestjs 的使用方法,供大家参考。
安装
使用 npm 进行安装即可:
npm install harvestjs
基本使用
在你的 JavaScript 代码中引入 harvestjs,然后通过它下面的start()
方法启动一个任务:
const harvestjs = require('harvestjs') harvestjs.start({ url: 'https://example.com/' })
参数
- url:要抓取的网址。
- callback:回调函数。当抓取完成后调用该函数,函数参数为一个对象,包含页面的内容和网页的基础信息。
- captureSelector:要截图的元素的 CSS 选择器。
- format:指定以哪种方式输出结果。可选值为:json(默认)、html、pdf。
- viewport:设定网页的视图窗口大小,格式为
{ width: number, height: number }
。 - viewportDelay:设置网页加载完成后等待多少毫秒后开始截图操作。
- useJquery:是否引用 jQuery 库。
- debug:是否开启 debug 模式。
示例
-- -------------------- ---- ------- ----------------- ---- ----------------------- --------- ------ -- - ----------------- -- --------- -- ---------------- ----------- ------- ------ --------- - ------ ----- ------- --- -- -------------- ----- ---------- ----- ------ ----- --
进阶用法
除了基本用法,harvestjs 还提供了一些高级用法。
模拟登录
如果要抓取需要登录才能查看的网页,可以使用 harvestjs 的login()
方法模拟登录:
-- -------------------- ---- ------- ----------------- ---- ---------------------------- --------- - --------- ------ --------- ----- -- --------- -- -- - ------------------ ---------- ----------------- ---- -------------------------------- -- --- -- - --
分页抓取
通常需要抓取的数据都是分页展示的。这时可以借助 harvestjs 的循环功能抓取全部数据:
harvestjs.loop({ url: 'https://example.com/page_{page}', callback: (data) => { console.log('page', data.page, 'data', data.content) }, range: [1, 10] })
上述代码将从https://example.com/page_1
到https://example.com/page_10
的网页上抓取数据,并输出每个页面的数据。
结束语
到此为止,我们已经介绍了 harvestjs 的基本使用和进阶用法,希望对大家有所帮助。如果大家还需要了解更多关于 harvestjs 的信息,请参考它的文档:https://github.com/knowsuchagency/harvestjs。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/77112