nodejs可以做爬虫吗?nodejs如何网页中的图片?nodejs做爬虫爬取图片。今天发现了一篇博客《node.js爬虫:爬取网页图片》,就跟着敲了起来,顺便找个了壁纸网站:https://pic.netbian.com/(若有冒犯,见谅!并没有爬你真实图片数据),测试了一下确实可以。
nodejs爬虫爬取网站图片,并下载到本地!-QUI-Notes

爬取步骤

1.安装引入依赖 - 自行node安装依赖

const request = require("request"); // 引入依赖
const fs = require("fs");
const path = require("path");
const cheerio = require("cheerio"); 

2.封装源地址和保存位置

const url = 'https://pic.netbian.com/'; //请求地址
const imgDir = path.join(__dirname,'./imgs/'); // 保存地址

3.请求源地址,并获取图片,写规则

function getImg(){
    request(url,function(err,res,body){ // 请求
      console.log('请求');
      if(!err && res){
        let $ = cheerio.load(body); // 图片规则 — 和jquery 很像
        $('.slist img').each(function(i,ele){
          let imgSrc = url + $(this).attr('src');
          downLoad(imgSrc,i);
        })
      }
    })
}

4.下载图片到本地

function downLoad(imgUrl,i){ // 下载到本地
    let ext = imgUrl.split('.').pop();
    request(imgUrl).pipe(fs.createWriteStream(path.join(imgDir,i+'.'+ext),{
      'encoding':'utf8'
    }))
    console.log(i);
}

5.执行一下请求图片的方法

getImg();

6.运行index.js文件

node index.js