基于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 相关文章推荐
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
Sep 19 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
May 28 Javascript
Ext GridPanel加载完数据后进行操作示例代码
Jun 17 Javascript
DOM基础教程之使用DOM
Jan 19 Javascript
js实现不重复导入的方法
Mar 02 Javascript
BootStrap入门教程(三)之响应式原理
Sep 19 Javascript
jquery popupDialog 使用 加载jsp页面的方法
Oct 25 Javascript
五步轻松实现JavaScript HTML时钟效果
Mar 25 Javascript
vue2单元测试环境搭建
May 24 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
Aug 27 Javascript
详解webpack 最简打包结果分析
Feb 20 Javascript
Javascript实现鼠标移入方向感知
Jun 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
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
简单的Vue SSR的示例代码
2018/01/12 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
Python实现115网盘自动下载的方法
2014/09/30 Python
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
Python 处理数据的实例详解
2017/08/10 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
Ratchet 模态框的实现
2020/08/19 HTML / CSS
医学生实习自我鉴定
2013/09/27 职场文书
大学生军训自我评价分享
2013/11/09 职场文书
仓库保管员岗位职责
2013/12/20 职场文书
银行工作检查书范文
2014/01/31 职场文书
财政专业求职信范文
2014/02/19 职场文书
小学生常见病防治方案
2014/06/06 职场文书
语文课外活动总结
2014/08/27 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
追悼会悼词大全
2015/06/23 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书