当前位置: 首页 > 后端技术 > Node.js

nodejs抓取网站图片.......

时间:2023-04-04 00:48:15 Node.js

nodejs实现一个爬虫功能,爬取豆瓣图片原理:爬虫是最明显的IO密集型应用场景,明显使用node使得I/O等待开销小数据挖掘更方便使用express模块??搭建node服务使用request模块获取目标页面的html代码下载cheerio模块处理html代码(cheerio与jQuery的语法类似,简单易用)环境配置:npminstallexpressrequestcheerio--save(1)导入每个模块varhttp=require('http');varrequest=require('request);varcheerio=require('cheerio');varfs=require('fs');//用于操作文件varurl='https://movie.douban.com/cinema/nowplaying/beijing/'//定义要抓取的页面(2)发送请求http.get(function(res){varhtml='';vartitles=[];res.setEncoding('utf-8')//防止中文乱码res.on('data',function(chunk){html+=chrunk;//监听data事件每次取一条数据})res.on('end',function(){var$=cheerio.load(html);//获取到数据后解析html//保存获取到的图片到图片文件夹$('.mod-bdimg').each(function(index,item){//获取图片属性varimgName=$(this).parent().next().text().trimg()varimgfile=imgName+'.jpeg';varimgSrc=$(this).attr('src')//使用请求模块向服务器发起请求获取图片资源request.head(imgSrc,function(error,res,body){if(error){console.log('failed')}});//通过管道使用fs模块将图片写入本地图片文件request(imgSrc).pipe.(fs.createWriteStream('./images/'+imgfile));})})})每天进步一点点......