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 相关文章推荐
今天是星期几的4种JS代码写法
Sep 17 Javascript
javascript中普通函数的使用介绍
Dec 19 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
Jan 25 Javascript
JS控制一个DIV层在指定时间内消失的方法
Feb 17 Javascript
常见的原始JS选择器使用方法总结
Apr 09 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
原生js仿jquery animate动画效果
Jul 13 Javascript
WEB开发之注册页面验证码倒计时代码的实现
Dec 15 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
Vue2.0+ElementUI实现表格翻页的实例
Oct 23 Javascript
vue 基于element-ui 分页组件封装的实例代码
Dec 10 Javascript
jQuery实现动态操作table行
Nov 23 jQuery
基于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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
Python3开发环境搭建详细教程
2020/06/18 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
浅析Python中字符串的intern机制
2020/10/03 Python
Python实现京东抢秒杀功能
2021/01/25 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
统计员岗位职责
2013/11/14 职场文书
班组长岗位职责
2014/03/03 职场文书
教师读书活动总结
2014/05/07 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
公司股份合作协议书
2014/12/07 职场文书
升学宴家长答谢词
2015/09/29 职场文书
网络研修随笔感言
2015/11/18 职场文书