博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs爬取网站图片.....
阅读量:7166 次
发布时间:2019-06-29

本文共 1332 字,大约阅读时间需要 4 分钟。

nodejs来实现一个爬虫功能 ,爬取豆瓣图片

原理:

爬虫是最明显的IO密集型应用场景,显然用node,使得I/O等待开销小数据挖掘比较方便

借助express模块来搭建node服务

并使用request模块获取目标页面的html代码

下载cheerio模块对html代码做处理(cheerio类似jQuery的语法,所以好用又方便)

环境配置:

npm install express request cheerio --save

(1)引入各个模块

var http = require('http');var request = require('request);var cheerio = require('cheerio');var fs = require('fs'); //用来操作文件var url = 'https://movie.douban.com/cinema/nowplaying/beijing/' //定义要爬的页面

(2)发送请求

http.get(function(res){    var html = '';    var titles = [];    res.setEncoding('utf-8') //防止中文乱码        res.on('data',function(chunk){        html += chrunk;       //监听data事件 每次取一块数据    })        res.on('end',function(){        var $ = cheerio.load(html);   //获取数据完成后,解析html        //将获取的图片存到images文件夹中        $('.mod-bd img').each(function(index, item){            //获取图片属性            var imgName = $(this).parent().next().text().trimg()            var imgfile = imgName + '.jpeg';            var imgSrc = $(this).attr('src')                        //采用request模块,向服务器发起请求 获取图片资源            request.head(imgSrc, function(error, res,body){                if(error){                    console.log('失败了')                }            });            //通过管道的方式用fs模块将图片写到本地的images文件下            request(imgSrc).pipe.(fs.createWriteStream('./images/' + imgfile));        })            })})

每天进步一点点......

转载地址:http://ipqwm.baihongyu.com/

你可能感兴趣的文章
PHP substr()截取字符串时,中文出现乱码的问题解决
查看>>
吴治辉:分布式数据库MyCAT之前世今生
查看>>
html段落的控制
查看>>
我的友情链接
查看>>
argparse模块见解(一)
查看>>
用Gitlab进行强制代码Review
查看>>
ulimit 句柄数修改
查看>>
CentOS 6.5安全加固及性能优化
查看>>
再谈XGBoost原理
查看>>
打印机故障转移集群之节点安装打印服务器
查看>>
Html5之基础-3 HTML概述、基础语法、文档结构
查看>>
指令周期的基本概念
查看>>
SQL Map XML配置文件
查看>>
使用C#开发ActiveX控件(新)
查看>>
js冒泡排序及计算其运行时间
查看>>
mysql表加锁、全表加锁、查看加锁、解锁
查看>>
Python yield 使用浅析
查看>>
python之函数
查看>>
ADO.NET
查看>>
Exchange服务无法启动案例分享
查看>>