Node.js实现批量图片抓取教程

作者:接口漫谈

时间:2026-10-22

浏览:523

本文介绍使用Node.js进行批量图片抓取的完整流程。通过request模块发起HTTP请求,利用cheerio解析HTML结构,结合fs和mkdirp模块实现本地目录创建与文件保存。代码示例展示了从目标URL获取列表页、解析图片链接到批量下载存储的核心逻辑,适合初学者参考学习。

文章目录

Node.js批量图片抓取教程

前言

分享一个用于抓取图片的脚本工具。

项目托管在Github:https://github.com/focalhot/node.js-crawler(提供本地下载链接)

示例代码


 //依赖模块
 var fs = require('fs');
 var request = require("request");
 var cheerio = require("cheerio");
 var mkdirp = require('mkdirp');
 
 //目标网址
 var url = 'http://me2-sex.lofter.com/tag/美女摄影?page=';
 
 //本地存储目录
 var dir = './images';
 
 //创建目录
 mkdirp(dir, function(err) {
 if(err){
 console.log(err);
 }
 });
 
 //发送请求
 request(url, function(error, response, body) {
 if(!error && response.statusCode == 200) {
 var $ = cheerio.load(body);
 $('.img img').each(function() {
 var src = $(this).attr('src');
 console.log('正在下载' + src);
 download(src, dir, Math.floor(Math.random()*100000) + src.substr(-4,4));
 console.log('下载完成');
 });
 }
 });
 
 //下载方法
 var download = function(url, dir, filename){
 request.head(url, function(err, res, body){
 request(url).pipe(fs.createWriteStream(dir + "/" + filename));
 });
 };

总结

以上就是本文的全部内容,希望能为各位的学习或工作提供参考。如有疑问欢迎留言交流,感谢支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章