基于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 相关文章推荐
IE与firefox之jquery用法区别
Oct 03 Javascript
Jquery 实现Tab效果 思路是js思路
Mar 02 Javascript
javascript 操作select下拉列表框的一点小经验
Mar 20 Javascript
js 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
js实现图片从左往右渐变切换效果的方法
Feb 06 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
Feb 25 Javascript
JS检测移动端横竖屏的代码
May 30 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
Jan 10 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 Javascript
详解Node全局变量global模块
Sep 28 Javascript
vue实现学生信息管理系统
May 30 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
php数组一对一替换实现代码
2012/08/31 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
javascript引用对象的方法
2007/01/11 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
JS实现多功能计算器
2020/10/28 Javascript
Python+django实现文件下载
2016/01/17 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
十岁生日父母答谢词
2014/01/18 职场文书
西式婚礼主持词
2014/03/13 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书