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的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 Javascript
JQuery中getJSON的使用方法
Dec 13 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
Nov 04 Javascript
js批量设置样式的三种方法不推荐使用with
Feb 25 Javascript
PHP中CURL的几个经典应用实例
Jan 23 Javascript
简述AngularJS的控制器的使用
Jun 16 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
js数字舍入误差以及解决方法(必看篇)
Feb 28 Javascript
关于react-router的几种配置方式详解
Jul 24 Javascript
js装饰设计模式学习心得
Feb 17 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
javascript从image转换为base64位编码的String
2014/07/29 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
Python线程中对join方法的运用的教程
2015/04/09 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
新西兰优惠网站:Treat Me
2019/07/04 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
酒店员工职业生涯规划
2014/02/25 职场文书
新教师培训心得体会
2014/09/02 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python