Node.js抓取网页信息(cheerio网络爬虫)
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网络爬虫)相关推荐
- Node.js抓取网页信息并展示(cheerio网络爬虫)
书接上回,哈哈,昨天发表了,怎么使用Node的cheerio模块进行抓取网页的信息,那我们拿到数据肯定是有自己的用处的啊. 我昨天抓取的是一些超级诱人的糕点的图片,今天展示出来,大家一起眼馋啊,啊哈哈 ...
- node.js抓取数据(fake小爬虫)
在node.js中,有了 cheerio 模块.request 模块,抓取特定URL页面的数据已经非常方便. 一个简单的就如下 var request = require('request'); va ...
- Node.js 抓取电影天堂新上电影节目单及ftp链接
代码地址如下: http://www.demodashi.com/demo/12368.html 1 概述 本实例主要使用Node.js去抓取电影的节目单,方便大家使用下载. 2 node packa ...
- 使用Python抓取网页信息
之前用C#帮朋友写了一个抓取网页信息的程序,搞得好复杂,今天朋友又要让下网页数据,好多啊,又想偷懒,可是不想用C#了,于是想到了Python,大概花了两个小时,用记事本敲的,然后在IDLE (Pyth ...
- node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地
node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地 使用模块request.fs,request模块在npm里平均月下载量超过3000W次,那是相当的牛逼. node版本 ...
- .net抓取网页信息 - Jumony框架使用1
往往在实际开发中,经常会用到一些如抓取网站信息之类的的操作,往往大家采用的是用一些正则的方式获取,但是有时候正则是很死板的,我们常常试想能不能使用jquery的选择器,获取符合自己要求的元素,然后进行 ...
- matlab抓取网页信息,如何利用Matlab抓取网页数据
如何利用Matlab抓取网页数据 2019-01-01 %朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事.我写了一个简单的网络爬虫,主要用到正则表达式,可以自动下载网页源 ...
- asp.net 初步入门使用正则抓取网页信息
今天闲着没事看了看使用正则的使用,之前只是用来做验证,第一次用来抓取网页, 抓去了博客园首页几个分页的推荐文章列表.... 代码很简单就不做解释了,肯定做得不严谨,主要是熟悉下几个正则类和用于抓取网页 ...
- java爬虫抓取网页数据论坛_Java爬虫抓取网页
Java爬虫抓取网页原作者:hebedich 原文链接 下面直接贴代码: import java.io.BufferedReader; import java.io.InputStreamReade ...
最新文章
- 剑指offer:面试题07. 重建二叉树
- OSPF有五种报文,hello,dd,lsr,lsu,lsack
- iBATIS配置文件的特殊使用方法
- 右键菜单打开文件所在文件夹的插件EasyExplore
- Consul与外部服务
- Scala 学习笔记(2)
- django2.2 配置urls(亲测)
- 网页小图标Favicon
- JAVA常见异常种类
- 软件开发中的几种数据交换协议
- 利用Linq在RadCombobox中输出分类后的数据
- jooq代码生成_将jOOQ与Spring结合使用:代码生成
- Django创建mysql数据库常用字段及参数
- tablueau地图标记圆形_高德地图实现自定义小蓝点 自定义点标记 绘制多边形/圆形区域 根据地图的移动显示或者隐藏自定义点标记的相关实现...
- android 底部黑边,android – 截屏周围的黑色边缘
- 上位机通过串口获取单片机数据
- onsubmit=“return check() 给form加onsubmit 验证所有表单后再提交,可以用返回false 来阻止submit提交
- 【2019/5/24】周进度报告
- Simulink电力系统仿真-三相短路
- linux查看网卡是down还是up,查看Linux下网卡链接状态(up仍是down)?