基于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 相关文章推荐
页面只能打开一次Cooike如何实现
Dec 04 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
Apr 13 Javascript
jQuery动画效果实现图片无缝连续滚动
Jan 12 Javascript
JavaScript 中 apply 、call 的详解
Mar 21 Javascript
深入浅析Vue不同场景下组件间的数据交流
Aug 15 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
Aug 17 Javascript
JS+Canvas绘制动态时钟效果
Nov 10 Javascript
图片文字识别(OCR)插件Ocrad.js教程
Nov 26 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
Aug 08 Javascript
vue项目实现分页效果
Mar 24 Vue.js
简单实现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生成指定长度随机数最简洁的方法
2014/07/14 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
python opencv实现运动检测
2018/07/10 Python
Python使用分布式锁的代码演示示例
2018/07/30 Python
浅谈Python爬虫基本套路
2019/03/25 Python
python隐藏终端执行cmd命令的方法
2019/06/24 Python
python实现3D地图可视化
2020/03/25 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
从python读取sql的实例方法
2020/07/21 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
个人自我鉴定怎么写
2013/10/28 职场文书
土建资料员岗位职责
2014/01/04 职场文书
运动会广播稿500字
2014/01/28 职场文书
旷工检讨书1000字
2015/01/01 职场文书
丧事主持词
2015/07/02 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
MySQL中in和exists区别详解
2021/06/03 MySQL
实操Python爬取觅知网素材图片示例
2021/11/27 Python