基于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 相关文章推荐
网页常用特效代码整理
Jun 23 Javascript
JavaScript 创建运动框架的实现代码
May 08 Javascript
Javascript 遮罩层和加载效果代码
Aug 01 Javascript
javascript模拟地球旋转效果代码实例
Dec 02 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
Dec 11 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
js实现背景图片感应鼠标变化的方法
Feb 28 Javascript
基于 Node.js 实现前后端分离
Apr 23 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
Aug 31 Javascript
基于elementUI实现图片预览组件的示例代码
Mar 31 Javascript
详解Vue3使用axios的配置教程
Apr 29 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python获取url的返回信息方法
2018/12/17 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
python右对齐的实例方法
2020/07/05 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
学校后勤人员职责
2013/12/27 职场文书
运动会广播稿400字
2014/01/25 职场文书
个人现实表现材料
2014/02/04 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
捐书活动倡议书
2015/04/27 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书