Node.js实现批量图片抓取教程
作者:接口漫谈时间:2026-10-22 16:28:47浏览:524
本文介绍使用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));
});
};
总结
以上就是本文的全部内容,希望能为各位的学习或工作提供参考。如有疑问欢迎留言交流,感谢支持。
作者最新文章
全栈开发中JavaScript与Java怎么协作?前后端技术栈配合解析
2026-11-04 11:08:24
Node.js官网访问慢?国内镜像加速下载方案
2026-11-03 18:57:24
Node.js 连接 MySQL 数据库实现增删改查操作
2026-11-03 14:31:14
Windows系统安装Node.js:下载、配置与环境验证
2026-11-03 14:15:56
Linux (Ubuntu/CentOS) 环境下安装Node.js的常用方法
2026-11-03 10:18:39
