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高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
创建公共调用 jQuery Ajax 带返回值
Aug 01 Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 Javascript
jQuery实现首页图片淡入淡出效果的方法
Jun 10 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
javascript中json基础知识详解
Jan 19 Javascript
canvas 实现中国象棋
Feb 17 Javascript
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
Vue-cli 使用json server在本地模拟请求数据的示例代码
Nov 02 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中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
JavaScript按位运算符的应用简析
2014/02/04 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python入门篇之字符串
2014/10/17 Python
Python使用minidom读写xml的方法
2015/06/03 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
django url到views参数传递的实例
2019/07/19 Python
python判断链表是否有环的实例代码
2020/01/31 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
Python实现粒子群算法的示例
2021/02/14 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
存储过程和函数的区别
2013/05/28 面试题
const和static readonly区别
2013/05/20 面试题
网游商务专员求职信
2013/10/15 职场文书
业务员岗位职责
2013/11/16 职场文书
狼和鹿教学反思
2014/02/05 职场文书
消防宣传口号
2014/06/16 职场文书
暑期社会实践心得体会
2014/09/02 职场文书
单位综合评价意见
2015/06/05 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python