基于node.js实现爬虫的讲解


Posted in Javascript onFebruary 18, 2019

1. cheerio 与 request

  • request:模拟客户端行为,对页面进行请求
  • cheerio:对服务器端返回的页面进行解析;
var cheerio = require('cheerio');
var request = require('request');
var startUrl = 'http://www.baidu.com'
request(startUrl, function(err, response) {
  if (err) {
    console.log(err);
  }
  var $ = cheerio.load(response.body);
  var title = $('title').text();
  console.log(title);
}

2. 认识 cheerio

获取 element 位置

通过 class 属性进行匹配:

var $=cheerio.load('<div class="container"></div>'); 
$('.container')

取其链接:<a class="downbtn" href="http://mov.bn.netease.com/mobilev/2013/1/F/G/S8KTEF7FG.mp4" id="M8KTEKR84" target="_blank"></a>

$('a.downbtn').attr('href')

某一页面下的全部可链接:

var url = 
var $ = cheerio.load(data);
  $("a.downbtn").each(function(i, e) {
    console.log($(e).attr("href"));
  });
  console.log("done");
 } else {
   console.log("error");
 }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
通过 Dom 方法提高 innerHTML 性能
Mar 26 Javascript
ext for eclipse插件安装方法
Apr 27 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
Jan 11 Javascript
jQuery中获取Radio元素值的方法
Jul 02 Javascript
javascript dom追加内容实现示例
Sep 21 Javascript
js如何设置在iframe框架中指定div不显示
Dec 04 Javascript
jQuery插件bxSlider实现响应式焦点图
Apr 12 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
Aug 24 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 Javascript
jQuery层次选择器用法示例
Sep 09 Javascript
巧用数组制作图片切换js代码
Nov 29 Javascript
js实现简单掷骰子效果
Oct 24 Javascript
简单实现vue中的依赖收集与响应的方法
Feb 18 #Javascript
vue实现的网易云音乐在线播放和下载功能案例
Feb 18 #Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
Feb 18 #Javascript
vue-cli3环境变量与分环境打包的方法示例
Feb 18 #Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
Feb 18 #Javascript
JS基于开关思想实现的数组去重功能【案例】
Feb 18 #Javascript
JS实现点击li标签弹出对应的索引功能【案例】
Feb 18 #Javascript
You might like
PHP 事件机制(2)
2011/03/23 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
JS高级笔记
2011/07/13 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
DataFrame中去除指定列为空的行方法
2018/04/08 Python
python中scikit-learn机器代码实例
2018/08/05 Python
python函数与方法的区别总结
2019/06/23 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
opencv python如何实现图像二值化
2020/02/03 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
先进班级集体事迹材料
2014/01/30 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
2013年最新自荐信范文
2014/06/23 职场文书
股东出资证明书范例
2014/10/04 职场文书
工伤事故证明
2014/10/20 职场文书
MySQL Server层四个日志的实现
2022/03/31 MySQL
GO中sync包自由控制并发示例详解
2022/08/05 Golang