基于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 相关文章推荐
JavaScript开发时的五个注意事项
Dec 08 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
JS原型、原型链深入理解
Feb 27 Javascript
jQuery Easyui快速入门教程
Aug 21 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
Apr 18 Javascript
jQuery实现全选、反选和不选功能
Aug 16 jQuery
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 Javascript
从vue源码解析Vue.set()和this.$set()
Aug 30 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
深入学习Vue nextTick的用法及原理
Oct 08 Javascript
JS document form表单元素操作完整示例
Jan 13 Javascript
vue中的循环对象属性和属性值用法
Sep 04 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 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
微信小程序表单验证功能完整实例
2017/12/01 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
使用Python实现博客上进行自动翻页
2017/08/23 Python
Python定时器实例代码
2017/11/01 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
2020/02/11 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
大学生职业生涯规划方案
2014/01/03 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
大学开学感言
2015/08/01 职场文书