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 相关文章推荐
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
Jul 31 Javascript
单击按钮显示隐藏子菜单经典案例
Jan 04 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
Aug 02 Javascript
javascipt匹配单行和多行注释的正则表达式
Nov 20 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
Mar 27 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
May 05 Javascript
一个JS函数搞定网页标题(title)闪动效果
May 13 Javascript
微信小程序 开发指南详解
Sep 27 Javascript
浅谈JS中的反柯里化( uncurrying)
Aug 17 Javascript
微信小程序模版渲染详解
Jan 26 Javascript
对vuex中getters计算过滤操作详解
Nov 06 Javascript
Node.js 在本地生成日志文件的方法
Feb 07 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入门小知识
2008/03/24 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
php中OR与|| AND与&&的区别总结
2013/10/26 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
python select.select模块通信全过程解析
2017/09/20 Python
python实现聚类算法原理
2018/02/12 Python
python实现决策树分类(2)
2018/08/30 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
python 默认参数相关知识详解
2019/09/18 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
Python如何生成xml文件
2020/06/04 Python
巴黎一票通:The Paris Pass
2018/02/10 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
机械电子工程毕业生自荐信
2013/11/23 职场文书
证券期货行业个人的自我评价
2013/12/26 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
nginx共享内存的机制详解
2022/03/21 Servers
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers