基于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 相关文章推荐
基于jquery循环map功能的代码
Feb 26 Javascript
分享14个很酷的jQuery导航菜单插件
Apr 25 Javascript
js创建子窗口并且回传值示例代码
Jul 02 Javascript
js计算两个时间之间天数差的实例代码
Nov 19 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
理解javascript中Map代替循环
Feb 26 Javascript
jQuery Ajax页面局部加载方法汇总
Jun 02 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
Oct 27 Javascript
Three.js利用dat.GUI如何简化试验流程详解
Sep 26 Javascript
vue 2.0 购物车小球抛物线的示例代码
Feb 01 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
Apr 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
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
python字典get()方法用法分析
2015/04/17 Python
Python实现的最近最少使用算法
2015/07/10 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
Python3计算三角形的面积代码
2017/12/18 Python
快速查询Python文档方法分享
2017/12/27 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
node中使用shell脚本的方法步骤
2021/03/23 Javascript
个人实用简单的自我评价
2013/10/19 职场文书
爱国主义演讲稿
2014/05/07 职场文书
农村文化建设标语
2014/10/07 职场文书
公司承诺书格式范文
2015/04/28 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
读《儒林外史》有感:少一些功利,多一些真诚
2020/01/19 职场文书