基于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对象的property和prototype是什么一种关系
Aug 06 Javascript
ExtJS 入门
Oct 29 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
Apr 02 Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 Javascript
JavaScript返回上一页的三种方法及区别介绍
Jul 04 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
Nov 04 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
Feb 29 Javascript
纯JS代码实现气泡效果
May 04 Javascript
Angular2搜索和重置按钮过场动画
May 24 Javascript
原生js代码能实现call和bind吗
Jul 31 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
JavaScript对象原型链原理详解
Feb 05 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开发文件系统实例讲解
2006/10/09 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
PHP创建XML接口示例
2019/07/04 PHP
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
Python变量类型知识点总结
2019/02/18 Python
Python检测数据类型的方法总结
2019/05/20 Python
python中比较两个列表的实例方法
2019/07/04 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
Python如何实现的二分查找算法
2020/05/27 Python
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
实习护理工作自我评价
2013/09/25 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
JavaScript canvas实现流星特效
2021/05/20 Javascript
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers
分享Python异步爬取知乎热榜
2022/04/12 Python