首页 > 编程语言 >nodejs爬图片(二)

nodejs爬图片(二)

时间:2024-04-01 17:04:56浏览次数:31  
标签:axios const nodejs fs let path htmlData 图片

前言

       网上一张一张下载是不是很麻烦,直接批量下载,解决你的问题。高清不是梦!        

具体步骤不说了,直接上代码

const cheerio = require("cheerio");
const axios = require("axios");
const fs = require("fs");
const path = require("path");
 
let httpUrl = "http://www.netbian.com/dongman/index_2.htm";
 
let dirName = path.join(__dirname,"image");
if(fs.existsSync(dirName)){
    console.log("文件夹已存在");
}else{
    fs.mkdir(dirName,()=>{
        console.log("文件夹创建成功");
    });
}
 
async function getData(){
    let htmlData = await axios.get('https://www.csdn.net/');
    console.log(htmlData,'htmlData');
    let $ = cheerio.load(htmlData.data);
    $(".headlines-left dl dt a img").each(async (index,item)=>{//定位到当前图片元素img
        let imgUrl = $(item).attr("src");//获取到当前的img路径
        let srcFile = path.join(dirName,path.parse(imgUrl).base);
        let ws = fs.createWriteStream(srcFile);
        axios.get(imgUrl,{responseType:"stream"}).then((res)=>{//请求当前图片
            res.data.pipe(ws);//将请求的图片数据copy到srcFile文件路径中
            res.data.on("close",()=>{
                console.log("图片" + path.parse(imgUrl).base + "已经下载完成");
                ws.close();
            })
        })
    })
}
 
getData();

注意点: 

这个需要安装一个模块,安装一个axios模块,直接完成批量下载你喜欢的图片简直不要太香

运行

上一篇文章忘记说了 运行:  node app.js即可

标签:axios,const,nodejs,fs,let,path,htmlData,图片
From: https://blog.csdn.net/GAGGAAAAA/article/details/137238546

相关文章

  • nodejs做中间层_Nodejs 之 RPC 协议简介
    背景随着Nodejs的兴起,越来越多的Web服务中间层被搭建起来。如Node服务端渲染,BFF(BackendForFrontend))层,而RPC是远端过程调用,经常用于BFF层。最近,我打算写一个中间层,用Nodejs调用Go服务,除了可以简单用http调用之外,发现还有基于RPC的调用就研究了一下。RPC简......
  • CSS3制作图片样式
    问题:如果在img上直接使用CSS3的border-radius和box-shadow应用在图片,浏览器并不会完全显示。前面在《jQuery和CSS3给图片制作圆角》中说过其解决方法,就是把图片作为背景图片,这样我们就可以应用任何样式来修饰图片,而且此时浏览器也会完美的呈现出来。解决方法:要让浏览器能正常渲......
  • Java 实现OCR扫描/识别图片文字
    图片内容一般无法编辑,如果想要读取图片中的文本,我们需要用到OCR工具。本文将介绍如何在Java中实现OCR识别读取图片中的文字。所需工具:IDEASpire.OCRforJava-JavaOCR组件,支持识别多种语言、字体,可读取JPG、PNG、GIF、BMP和TIFF等常用图片中的文本信息。    ......
  • python opencv计算图片rgb平均值
    pythonopencv计算图片rgb平均值importcv2importnumpyasnp#读取图像3_202403281448172_20240328165448image=cv2.imread('3_20240328144817.jpg')#确保图像读取成功ifimageisnotNone:#OpenCV读取图像为BGR格式,我们需要转换为RGB#rgb_......
  • Nginx 代理访问minio存储桶图片
    设置存储桶Anonymous配置nginx并reload location/images/{ proxy_passhttp://127.0.0.1:9000/; } 测试https://paylove.online/images/存储桶/xxx.pngIAM参考https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/reference_policies_elements.html......
  • ie中可以进行图片压缩的库
    onBeforeRead(file){returnnewPromise((resolve,reject)=>{newCompressorjs(file,{//压缩质量,0-1//quality:0.6,////转换的类型,默认为image/png////convertTypes:['image/jpeg','image/png&......
  • 压缩图片的递归方法
    authJob(n){if(n<=0){return}else{this.rpc.load.authJob(this.fileList[n-1].raw).then((res)=>{this.outerFileList.push(res)if(n-1==0){......
  • 微信小程序 图片压缩
    主要是通过canvas进行压缩兼容wx.compressImageAPIwx.compressImage还没测试,canvas缩放宽高比才能达到压缩utils/compressImage.js//compressImage.js/***@param{object}img包含path:图片的path,size:图片的大小*@param{object}canvascanvas对象*@param{n......
  • NodeJS 高校学业预警系统 毕业设计-10551
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,教育行业当然也不能排除在外。高校学业预警系统是以实际运用为开发背景,运用软件工程开发方法,采用Node.JS技术构建的一个管理系统。整个开发过程首先对软件系......
  • Python之Opencv进阶教程(2):统计图片灰度级别的像素数量
    1、什么是灰度像素数量在OpenCV中,可以使用**cv2.calcHist()**函数来计算图像的直方图。直方图是一种图形统计表,用于表示图像中每个灰度级别(或颜色通道)的像素数量或密度分布。以下是一个示例代码,演示了如何使用OpenCV计算和绘制图像的直方图:2、代码importcv2ascvimpor......