nodejs + koa2 实现爬虫

superagent 官方文档
爬虫源代码实现(github地址)

安装koa脚手架

注意koa2只支持node版本 v7+,请确保版本足够

npm i koa-generator -g  //安装全部脚手架
koa2 projectName //初始化项目目录
cd projectName
npm i //默认携带package.json文件,需要我们自行安装node_modules包
npm start  //启动项目(默认是3000端口号)

需要注意的是,每次执行npm start命令, koa2默认会帮助我们执行一次入口文件,如果需要动态监测文件改变,开发环境建议使用nodemon进行实时监测刷新. (npm i nodemon -g), 这里需要更改 package.json文件中的 script属性,改为"scripts": { "start": "nodemon bin/www"} 即可,

superagent请求数据

用法如下:

npm i superagent -S
    superagent
        .get(url) 
        .set({  //设置请求头
            "Connection":"keep-alive",
        })
        .end((err,res) => {   //错误优先
            if(err){
                console.log(err);
                return ;
            }
            ctx.body = res.text  // 请求到的html在text属性中
        }

cheerio使用

文档可以参考这里 或者 这里
cheerio是为没有window对象的运行环境专门定制的DOM操作库. 是jquery的核心实现.(并不是基于window对象的)

const cheerio = require('cheerio');
//superagent请求到数据之后, 执行
const $ = cheerio.load(res.text);
...

常用Api :
addClass(className) : 给标签添加class名,方便抓取数据
text() : 获取标签的文本内容
find('img') : 查找某类型的标签或者class
toArray : 可以把一个伪数组变成数组
each : 循环遍历得到的数组,参数分别是(index,element);

具体实现以及cheerio使用,可以参考GitHub源代码. 如果你觉得源代码对你有帮助的话,记得点个Star噢~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值