本文来自作者
小北
在
GitChat
上分享「Node.js 爬虫从 0 到 1」,
「
阅读原文
」查看交流实录
「
文末高能
」
编辑 | 家辉
写在前面
我们经常会听说爬虫这个词语,但是却从来没有见过这个
「虫子」
,在我们日常生活中,每天使用的百度,谷歌,搜狗,360 等搜索引擎的背后,都是无数的爬虫在支持。
相信很多人都听过 SEO,其实,SEO 就是一门如何让爬虫更快更好的爬取到你的网站的技术,当然,如果你有钱,完全可以搞个竞价排名~
课程简介
其实很多语言都能写爬虫,最著名的应该是 Python,它是一门强大的语言,建议有精力的人学一学,以后大数据,深度学习肯定是大方向!
当然,除了 Python 还有很多语言能写爬虫,比如今天我们要讲的 Node.js。
简单的介绍一下 Node.js,它可以在服务端运行 js,做过前端开发的程序员肯定很熟悉,js 是一门弱语言。
但现在发展很迅速,茁长成长,在 Nodejs 出现以后,使得 js 不光能写前端的动态效果,交互效果,还能写 web 服务器,我们甚至能用 Nodejs 去打包桌面端程序,从此,前端工程师的触角向后延伸了一大块。
对于前端工程师来说有时候可能想爬取点简单的页面,那么 Nodejs 将是我们的好帮手,当然了,闲来无事的时候,你也可以爬取一点福利站之类的,你懂得!
这节 chat 可能只会讲一点简单的爬虫,真正的爬虫与反爬虫博弈十分厉害。
后期会推出一系列的教程来讲解,正在求职之中,时间紧,任务重,如果写的不好,还请提出,我会认真改正,谢谢!
开发环境&工具
-
Nodejs
-
坚挺了5年的小本本
-
VS Code
Nodejs环境搭建
Windows 和 Mac 直接下载安装包,双击打开安装就好了。
下面重点来说一下 linux 系统下的安装,为什么要重点说 Linux 系统呢?因为我用的是 Linux。
当然这个不是主要原因,主要原因是目前大多数服务器环境是 Linux,如果我们将来将 node 的程序部署的服务器上,那这是很有用的。
Linux 参照这个去安装,
https://nodejs.org/en/download/package-manager/
。
这个网址有时候会上不了,你懂得,我在这贴出几个常用的服务器系统的安装方式。
安装完成后后,可以执行 npde -v 和 npm -v 确认是否安装成功。
Debian and Ubuntu
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
RHEL, CentOS or Fedora
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs
爬虫简介
话不多说,直奔主题,下面来讲解一下爬虫是啥。
说了半天,爬虫是什么呢?其实爬虫就是你,说的具体点,当你坐在电脑前面打开这篇 chat,你就充当了一个爬虫的角色,那我们来分解一下你打开这篇 chat 的行为:
输入固定的网址---->点击回车---->看到这篇chat
“爬虫就是模拟人类打开网址,浏览内容的过程” 我们来分析一下整个过程。
首先,你输入了网址,浏览器发起请求,服务器返回数据,浏览器渲染成你看到的页面(这个过程其实很复杂,不做过多介绍)。
从这里就可以看出,我们大致可将爬虫分为两个部分:
请求---->解析&数据处理
其实不然,一个完整的爬虫还需要有保存数据的能力,即
请求---->解析&处理数据---->保存处理好的数据
其实还能向下再去细分
请求---->解析&处理数据---->数据去重---->保存数据
今天我们以第二种模型来讲解,先让大家对爬虫有个初步的了解。