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

安装对应模块

安装命令:
npm install cheerio

明确抓取对象

cheerio安装完毕后,我们就可以进行抓取数据了,我们先来明确一下,需要抓取的内容是一家甜点的网站,需要抓取的代码如下图:

如图所示,需要抓取的内容是图中标注出来的img的图片,没错就是下方那些卡哇伊的蛋糕,哇哇哇~好想吃,而且名字也取得好好听好好听!!!

开始抓取

好了,我们明确了抓取的内容,现在我们就开始进行抓取,在这之前,需要知晓的是,Cheerio 包括了 jQuery 核心的子集,也就是说在操作cheerio时,使用JQ的相关语法是都可以的,是不是很酷炫啊,哈哈哈,开始上代码:

var http = require("http");
var cheerio = require("cheerio");
//准备抓取的网站链接
var dataUrl = "http://www.mcake.com/shop/110/index.html#mainer_top";
http.get(dataUrl,function(res){var str = "";//绑定方法,获取网页数据res.on("data",function(chunk){str += chunk;})//数据获取完毕res.on("end",function(){//调用下方的函数,得到返回值,即是我们想要的img的srcvar data = getData(str);console.log(data);})
})
//根据得到的数据,处理得到自己想要的
function getData(str){//沿用JQuery风格,定义$var $ = cheerio.load(str);//获取的数据数组var arr = $(".pro_box a:nth-child(1) img");var dataTemp = [];//遍历得到数据的src,并放入以上定义的数组中arr.each(function(k,v){var src = $(V).attr("src");dataTemp.push(src);})//返回出去return dataTemp;
}

得到抓取结果

得到的图片链接,打印如下图:

为了验证的信息的准确性,也为了博文页面不那么吃藕,特点击抓取到的第一个链接的可爱的甜点图附上来:

Node.js抓取网页信息(cheerio网络爬虫)相关推荐

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

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

  2. node.js抓取数据(fake小爬虫)

    在node.js中,有了 cheerio 模块.request 模块,抓取特定URL页面的数据已经非常方便. 一个简单的就如下 var request = require('request'); va ...

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

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

  4. 使用Python抓取网页信息

    之前用C#帮朋友写了一个抓取网页信息的程序,搞得好复杂,今天朋友又要让下网页数据,好多啊,又想偷懒,可是不想用C#了,于是想到了Python,大概花了两个小时,用记事本敲的,然后在IDLE (Pyth ...

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

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

  6. .net抓取网页信息 - Jumony框架使用1

    往往在实际开发中,经常会用到一些如抓取网站信息之类的的操作,往往大家采用的是用一些正则的方式获取,但是有时候正则是很死板的,我们常常试想能不能使用jquery的选择器,获取符合自己要求的元素,然后进行 ...

  7. matlab抓取网页信息,如何利用Matlab抓取网页数据

    如何利用Matlab抓取网页数据 2019-01-01 %朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事.我写了一个简单的网络爬虫,主要用到正则表达式,可以自动下载网页源 ...

  8. asp.net 初步入门使用正则抓取网页信息

    今天闲着没事看了看使用正则的使用,之前只是用来做验证,第一次用来抓取网页, 抓去了博客园首页几个分页的推荐文章列表.... 代码很简单就不做解释了,肯定做得不严谨,主要是熟悉下几个正则类和用于抓取网页 ...

  9. java爬虫抓取网页数据论坛_Java爬虫抓取网页

    Java爬虫抓取网页原作者:hebedich  原文链接 下面直接贴代码: import java.io.BufferedReader; import java.io.InputStreamReade ...

最新文章

  1. 剑指offer:面试题07. 重建二叉树
  2. OSPF有五种报文,hello,dd,lsr,lsu,lsack
  3. iBATIS配置文件的特殊使用方法
  4. 右键菜单打开文件所在文件夹的插件EasyExplore
  5. Consul与外部服务
  6. Scala 学习笔记(2)
  7. django2.2 配置urls(亲测)
  8. 网页小图标Favicon
  9. JAVA常见异常种类
  10. 软件开发中的几种数据交换协议
  11. 利用Linq在RadCombobox中输出分类后的数据
  12. jooq代码生成_将jOOQ与Spring结合使用:代码生成
  13. Django创建mysql数据库常用字段及参数
  14. tablueau地图标记圆形_高德地图实现自定义小蓝点 自定义点标记 绘制多边形/圆形区域 根据地图的移动显示或者隐藏自定义点标记的相关实现...
  15. android 底部黑边,android – 截屏周围的黑色边缘
  16. 上位机通过串口获取单片机数据
  17. onsubmit=“return check() 给form加onsubmit 验证所有表单后再提交,可以用返回false 来阻止submit提交
  18. 【2019/5/24】周进度报告
  19. Simulink电力系统仿真-三相短路
  20. linux查看网卡是down还是up,查看Linux下网卡链接状态(up仍是down)?

热门文章

  1. 小端字节序和大端字节序
  2. genewise运行过程中遇到的错误及其解决方法
  3. 分享12款非常漂亮的免费国外网站模板
  4. poj 2255 Tree Recovery
  5. 面向对象之信息传递为何是调用方法
  6. 复习:线性表——顺序表
  7. downloader怎么用 hls_如何下载企业微信直播回放视频(HLS格式)
  8. 数据 3 分钟 | 多家数据库厂商联合发布《分布式数据库发展路径研究》报告、巨杉数据库公布 2021 春季发布会时间...
  9. 每日一练丨性能优化-实例优化(三)
  10. 带你认识Flink容错机制的两大方面:作业执行和守护进程