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高级程序设计 阅读笔记(十二) js内置对象Math
Aug 14 Javascript
Js注册协议倒计时的小例子
Jun 24 Javascript
让js弹出窗口居前显示的实现方法
Jul 10 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
TypeScript 学习笔记之基本类型
Jun 19 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
解决jQuery使用JSONP时产生的错误
Dec 02 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 Javascript
纯js+css实现在线时钟
Aug 18 Javascript
vue中使用echarts的示例
Jan 03 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运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
js中日期的加减法
2015/05/06 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python set集合类型操作总结
2014/11/07 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
如何写python的配置文件
2020/06/07 Python
优秀应届毕业生推荐信
2014/02/18 职场文书
总经理检讨书
2014/09/15 职场文书
小学教育见习报告
2014/10/31 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
活动主持人开场白
2015/05/28 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
DIY胆机必读:各国电子管评价
2022/04/06 无线电