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 相关文章推荐
扩展jQuery 键盘事件的几个基本方法
Oct 30 Javascript
javascript sudoku 数独智力游戏生成代码
Mar 27 Javascript
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
js发送短信倒计时的简单实现方法
Sep 08 Javascript
js监听input输入框值的实时变化实例
Jan 26 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 jQuery
Vue.js实现网格列表布局转换方法
Aug 25 Javascript
nginx配置React静态页面的方法教程
Nov 03 Javascript
vue 使用html2canvas将DOM转化为图片的方法
Sep 11 Javascript
vue.js 实现a标签href里添加参数
Nov 12 Javascript
JavaScript实现指定数量的并发限制的示例代码
Mar 10 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字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
让python在hadoop上跑起来
2016/01/27 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
请解释在new与override的区别
2012/10/29 面试题
后勤自我鉴定
2013/10/13 职场文书
新闻专业推荐信范文
2013/11/20 职场文书
个人自我剖析材料
2014/02/07 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
《花木兰》教学反思
2014/04/09 职场文书
九九重阳节标语
2014/10/07 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
Django分页器的用法你都了解吗
2021/05/26 Python
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫