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中的有名函数和无名函数
Oct 17 Javascript
JQuery中的ready函数冲突的解决方法
May 17 Javascript
模仿百度三维地图的js数据分享
May 12 Javascript
DWZ table的原生分页浅谈
Mar 01 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
May 30 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
vue项目打包后打开页面空白解决办法
Jun 29 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 Javascript
js 实现ajax发送步骤过程详解
Jul 25 Javascript
koa2 数据api中间件设计模型的实现方法
Jul 13 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 Javascript
详解vue实现坐标拾取器功能示例
Nov 18 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
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
Laravel日志用法详解
2016/10/09 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
javascript 使td内容不换行不撑开
2012/11/29 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
python获取本机外网ip的方法
2015/04/15 Python
连接Python程序与MySQL的教程
2015/04/29 Python
浅析Python中的join()方法的使用
2015/05/19 Python
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
python实现AES加密与解密
2019/03/28 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
个人存款证明书
2014/10/18 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书