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的无缝循环新闻列表插件
Mar 07 Javascript
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
Bootstrap基础学习
Jun 16 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
AngularJS的ng Http Request与response格式转换方法
Nov 07 Javascript
js+html5实现页面可刷新的倒计时效果
Jul 15 Javascript
vue实现全选和反选功能
Aug 31 Javascript
React Native中Navigator的使用方法示例
Oct 13 Javascript
Node.Js中实现端口重用原理详解
May 03 Javascript
详解vue中v-bind:style效果的自定义指令
Jan 21 Javascript
vue实现lodop打印功能的示例
Nov 11 Javascript
浅析VUE防抖与节流
Nov 24 Vue.js
基于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中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
python2 与python3的print区别小结
2018/01/16 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
python七夕浪漫表白源码
2019/04/05 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
Python3 assert断言实现原理解析
2020/03/02 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
初三化学教学反思
2014/01/23 职场文书
董事长助理岗位职责
2014/02/18 职场文书
保安2014年终工作总结
2014/12/06 职场文书
接待员岗位职责范本
2015/04/15 职场文书
2015年全民创业工作总结
2015/07/23 职场文书