gz-spider
一个基于Puppeteer和Axios的NodeJs爬虫框架 源码仓库
为什么需要爬虫框架
爬虫框架可以简化开发流程,提供统一规范,提升效率。一套优秀的爬虫框架会利用多线程,多进程,分布式,IP池等能力,帮助开发者快速开发出易于维护的工业级爬虫,长期受用。
特性
可配置代理 支持任务重试 支持Puppeteer 异步队列服务友好 多进程友好安装
npm i gz-spider --save
使用
const spider = require('gz-spider');
// 每个爬虫是一个方法,需要通过setProcesser注册
spider.setProcesser({
['getGoogleSearchResult']: async (fetcher, params) => {
// fetcher.page是原始的puppeteer page,可以直接用于打开页面
let resp = await fetcher.axios.get(`https://www.google.com/search?q=${
params