利用request模块做一个爬取京东产品详情页图片的小案例

准备工作:

在成功安装了nodejs的前提下,再分别安装好request和cheerio等第三方模块:

安装request: npm install --save request(个人推荐使用cnpm安装)

安装cheerio:npm install cheerio

编写js文件:request.js

以京东的零食页面为例,每次只需要把页面的url地址复制一遍,然后手动更改下文件夹dir的路径就可以把图片爬取到相应的文件夹内

//引入核心模块fs文件模块
const fs = require("fs");
//引入第三方模块request模块
const request = require("request");
//引入第三方模块cheerio模块
const cheerio = require("cheerio");

const url = "https://item.jd.com/3444503.html";

// 定义将你的图片存入的文件夹
const dir = "./img/food1";

fs.mkdir(dir,(err)=>{});

let arr = [];

request(url,(err,res,body)=>{
if(!err && res.statusCode == 200){
const $ = cheerio.load(body);

//多张小图片路径的爬取:

let imgs = $(".spec-items>.lh>li>img");

for(var i=0;iimg");
    var msrc = maxImg.attr("data-origin");
    download("https:"+msrc,dir,Date.now()+"xiaomi_big"+msrc.substr(-4,4));
}
})

//封装下载的方法
//url 图片的真实路径 dir 你要存图片的文件夹名称 filename 你要存图片的文件名称
let download = (url,dir,filename)=>{
    //下载图片的一种方法
    request.head(url,()=>{
        //当下载成功以后将这个图片通过管道的形式放在./img/你的二级文件夹/filename
        request(url).pipe(fs.createWriteStream(dir+"/"+filename))
    })
}

3、运行文件

初始化backpage.json包 npm init -y

安装node_modules文件 npm install

运行 node request

此案例需要用到node.js文件

你可能感兴趣的:(利用request模块做一个爬取京东产品详情页图片的小案例)