基于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 相关文章推荐
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
js定时器(执行一次、重复执行)
Mar 07 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
Feb 27 Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 Javascript
用js写的一个路由(简单实例)
Sep 24 Javascript
Angular4如何自定义首屏的加载动画详解
Jul 26 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
Angular 项目实现国际化的方法
Jan 08 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
ES6中Symbol、Set和Map用法详解
Aug 20 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
Sep 05 Javascript
js中关于Blob对象的介绍与使用
Nov 29 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调用Twitter的RSS的实现代码
2010/03/10 PHP
php实现rc4加密算法代码
2012/04/25 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
如何实现JS函数的重载
2006/09/22 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
python自动格式化json文件的方法
2015/03/11 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
python实现汉诺塔方法汇总
2016/07/25 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
Python类的继承super相关原理解析
2020/10/22 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
校园报刊亭创业计划书
2014/01/02 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
班组拓展活动方案
2014/08/14 职场文书
会议简讯范文
2015/07/20 职场文书
结婚主持人致辞
2015/07/28 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
MySQL创建管理HASH分区
2022/04/13 MySQL