本篇介绍利用第3方的request和cheerio模块实现抓取网页图片到本地的功能。

首先,创建项目工程Crawling,并创建package.json文件来管理与安装该项目依赖的模块包。

 其次,安装第3方模块包request和cheerio包

准备工作完成后,现在来编写代码:

/*** 抓取网页图片*/
//载入第3方request模块
const request = require("request");
//载入第3方cheerio模块
const cheeric = require("cheerio");
//载入内置path模块
const path = require("path");
//载入内置fs模块
const fs = require("fs");//测试抓取图片的网页地址
const testImageUrl = "http://www.qingdoanews.com";
//抓取到的图片本地保存路径
const downloadImagePath = path.join(__dirname,"downloadImages");//开始抓取目标网址页的图片请求
request(testImageUrl,function(err,res,body){if(!err && res){      let $ = cheeric.load(body);//加载网页$("img").each(function(i,elem){//遍历文档中所有图片标签let imgSrc = $(this).attr("src");//获取图片的urlconsole.log("当前抓取的图片下载url:",imgSrc);let filName = imgSrc.split('/').pop(); //使用request模块读取流直接写入fs写入流if(imgSrc.startsWith("http"))request.get(imgSrc).pipe(fs.createWriteStream(path.join(downloadImagePath,filName), { 'encoding': 'utf8' }));});}else{console.log(err);}
});

运行结果如下:

注意:当前编写的工具只能抓取解析图片url地址:

https://qingdoanews.com/wp-content/uploads/2019/02/cropped-Qingdao.jpg

这样的图片,前面是http开头,以图片格式结尾的图片url。

Node.js抓取网页图片相关推荐

  1. Node.js抓取网页信息并展示(cheerio网络爬虫)

    书接上回,哈哈,昨天发表了,怎么使用Node的cheerio模块进行抓取网页的信息,那我们拿到数据肯定是有自己的用处的啊. 我昨天抓取的是一些超级诱人的糕点的图片,今天展示出来,大家一起眼馋啊,啊哈哈 ...

  2. Node.js抓取网页信息(cheerio网络爬虫)

    Node.js的学习中,可用于抓取其他网站的模块是[cheerio],这个模块并不是node的内置模块,所以首先我们需要先安装一下: 安装对应模块 安装命令: npm install cheerio ...

  3. 抓取网页图片的脚本(javascript)

    抓取网页图片的脚本(javascript) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24172223 脚本内容 (没有换行) ...

  4. node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地

    node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地 使用模块request.fs,request模块在npm里平均月下载量超过3000W次,那是相当的牛逼. node版本 ...

  5. node爬虫,抓取网页数据

    node爬虫,抓取网页数据 1.什么是爬虫? 抓取信息或者数据的程序或者是脚本 2.通过node实现对网页数据的抓取. 安装插件 request,处理请求(此包以被弃用) npm i request ...

  6. Node.js 抓取电影天堂新上电影节目单及ftp链接

    代码地址如下: http://www.demodashi.com/demo/12368.html 1 概述 本实例主要使用Node.js去抓取电影的节目单,方便大家使用下载. 2 node packa ...

  7. python抓取图片_Python3简单爬虫抓取网页图片

    现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2), 所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到 ...

  8. Python利用bs4批量抓取网页图片并下载保存至本地

    Python利用bs4批量抓取网页图片并下载保存至本地 使用bs4抓取网页图片,bs4解析比较简单,需要预先了解一些html知识,bs4的逻辑简单,编写难度较低.本例以抓取某壁纸网站中的壁纸为例.(b ...

  9. node.js爬取美女图片(一)

    node.js爬取美女图片 一.准备工作 首先找一个美女图片网站,这里我选用的是唯美女生,看起来像一个个人维护的网站. 分析页面结构: 1.主页主体部分就是图集列表: 2.URL的形式为 BaseUr ...

  10. Python多线程抓取网页图片地址

    mini-spider 功能描述: 多线程网络爬虫,爬取网页图片地址(也可提取其他特征的URL) 使用python开发一个迷你定向抓取器mini_spider.py,实现对种子链接的广度优先抓取,并把 ...

最新文章

  1. android onLayout死循环
  2. 青龙羊毛——闪电世界(合集篇)
  3. 使用独立mysql_MYSQL建立独立数据库以及独立数据库用户详细教程,利用PHPstudy自带的MySQL-Front...
  4. OpenShift 4 之AMQ Streams(4) - 用Prometheus监控Kafka
  5. windows笔记-【内核对象线程同步】等待函数
  6. spring boot @value取不到值_看看大厂如何自定义starter,还真想不到
  7. 你还在烦U盘记录该如何消除吗
  8. Tomcat JVM参数配置和自启动配置
  9. java经纬度排序,elasticsearch搜索经纬度(lbs)_geo_distance距离排序实现方案
  10. 仿微信 即时聊天工具 - SignalR (一)
  11. 对强化学习理解及其与有监督学习和无监督学习的比较
  12. [渝粤教育] 西南科技大学 英语国家概况 在线考试复习资料
  13. android动态权限依赖库,动态申请app权限:郭霖大神的PermissionX库带你告别原生
  14. 红黑树添加和删除节点原理
  15. 认知决定你的格局和财富差距
  16. 各品牌手机进rec快捷键
  17. windows主机中的文件无法拖拽到虚拟机的Ubuntu系统中(即使安装了vmtools)
  18. 9种圣诞字体tabs选择
  19. screen 状态为Attached 连不上
  20. AD6交互式布线,智能布线快捷键的介绍

热门文章

  1. Median(查找中位数)
  2. 计算机CPU的时钟频率主要,cpu时钟频率计算公式_CPU频率计算方法详解
  3. 线程池的几种构造方法及使用的策略
  4. SQL注入常用WAF绕过姿势
  5. python判断正数负数_python 负数变正数
  6. Nginx反向代理负载均衡群集实战
  7. 计算机电源不能启动不了,电脑不开机,常见原因有哪些,怎么处理,黑屏怎么办...
  8. 修改Window的hosts文件提示“该文件被其他程序占用,无法修改问题”解决方案
  9. vue 中 自定义按钮实现video暂停和播放
  10. 戴尔3080计算机重装系统步骤,终于发现戴尔笔记本重装系统的方法