本文共 1288 字,大约阅读时间需要 4 分钟。
简单的nodeJs爬取图片 小样例
npm init -y
-y 的含义:yes的意思,在init的时候省去了敲回车的步骤,生成的默认的package.json爬取图片所需要的模块
//引入模块const cheerio = require('cheerio');const fs = require('fs');const request = require('request');// 获取页面信息function start(url) { request(url, function (err, res, body) { if (!err && res.statusCode == 200) { findImg(body, saveImgFile); } })}// url 为页面的urlstart('url')// 页面节点解析function findImg(dom,callback) { let $ = cheerio.load(dom);// 页面节点 找到img 标签 each 循环 $('img').each((index,dom)=>{ let imgSrc = $(dom).attr('src'); // 获取图片路径 callback(imgSrc,index); })}function saveImgFile(src, index) { console.log(src,index) let ext = src.split('.').pop() //图片类型 png jpg pop() 方法用于删除并返回数组的最后一个元素。 let imgName = index + '.' + ext // if (src.indexOf('http') < 0) src = 'http:' + src // src 路径需确保为完整路径 // 新建pic 文件夹 保存到文件夹下 request(src).pipe(fs.createWriteStream('./pic/' + imgName)) // 下载文件到本地}// 调用start url 为页面的urlstart('http://www.netbian.com/index.htm')
目录 :page.json ,app.js ,pic文件夹
node app.js
注:最最简单的图片抓取方法,大部分页面都支持
转载地址:http://rajcz.baihongyu.com/