Node.js爬取豆瓣数据实例分析


Posted in Javascript onMarch 05, 2018

一直自以为自己vue还可以,一直自以为webpack还可以,今天在慕课逛node的时候,才发现,自己还差的很远。众所周知,vue-cli基于webpack,而webpack基于node,对node不了解,谈什么了解webpack。所以就自己给自己出了一道题,爬取豆瓣数据,目前还处于初级阶段。今天就浅谈爬取到豆瓣的数据,再另一个页面用自己的方式展现,后续会跟进。

1、需要解决的问题

  1. 搭建服务
  2. 怎么处理爬到的数据
  3. 怎么自动打开默认浏览器

2、搭建服务

搭建服务有好几种方式,一开始我用的http,但是http有个弊端就是不能解析https协议的url,所以就用了express,解析https协议的网址我用了request包,豆瓣的网址是https的,

今天爬取的是https://movie.douban.com/chart这个网址;如下图,我要获取的有三个部分,图片、电影名字、电影链接.

Node.js爬取豆瓣数据实例分析

Node.js爬取豆瓣数据实例分析

3、怎么处理爬到的数据

我们用request爬到的数据,怎么处理呢?cheerio包可以让我们像Jq那样处理爬到的html数据。

①、首先解析数据,取到爬取网页的html数据;

Node.js爬取豆瓣数据实例分析

②、然后利用cheerio包操作爬到的数据,取到你想要的数据。

Node.js爬取豆瓣数据实例分析

③、取到数据,创建html,输出到页面。如下图,我用的字符串拼接,办法有点笨,还没有找到更好的办法。

Node.js爬取豆瓣数据实例分析

4、怎么自动打开默认浏览器

不知道你有没有看vue-cli中webpack的配置,自动打开浏览器,vue-cli用的opn包.

Node.js爬取豆瓣数据实例分析

这个包用起来很方便,引入包,直接调用opn(url)即可;

5、展示

Node.js爬取豆瓣数据实例分析

Node.js爬取豆瓣数据实例分析

Javascript 相关文章推荐
开发跨浏览器javascript常见注意事项
Jan 01 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
JavaScript 和 Java 的区别浅析
Jul 31 Javascript
jQuery之选项卡的简单实现
Feb 28 Javascript
javascript trim函数在IE下不能用的解决方法
Sep 12 Javascript
jQuery后代选择器用法实例
Dec 23 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
浅谈Angular 观察者模式理解
Nov 01 Javascript
vue踩坑记录之数组定义和赋值问题
Mar 20 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
Oct 27 Javascript
基于Vue渲染与插件的加载顺序的问题详解
Mar 05 #Javascript
AjaxUpLoad.js实现文件上传
Mar 05 #Javascript
JsChart组件使用详解
Mar 04 #Javascript
ionic2中使用自动生成器的方法
Mar 04 #Javascript
Vue.directive()的用法和实例详解
Mar 04 #Javascript
Vue.directive 自定义指令的问题小结
Mar 04 #Javascript
JavaScript图片处理与合成总结
Mar 04 #Javascript
You might like
关于php mvc开发模式的感想
2011/06/28 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
python实现备份目录的方法
2015/08/03 Python
Python复制文件操作实例详解
2015/11/10 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
天猫精选:上天猫,就够了
2016/09/21 全球购物
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
华为C++笔试题
2014/08/05 面试题
Linux的主要特性
2016/09/03 面试题
我的中国梦演讲稿高中篇
2014/08/19 职场文书
参观邀请函范文
2015/02/02 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android
SQL Server中锁的用法
2022/05/20 SQL Server