这一节中,主要学习一些爬虫的前置知识,主要知识点有:
- 爬虫的概念和作用
- 爬虫的流程【重要】
- HTTP 协议
- HTTP 和 HTTPS 概念和区别
- 浏览器访问一个网址的过程
- 爬虫中常用的请求头、响应头
- 常见的响应状态码
- 浏览器自带开发者工具的使用
01_爬虫概述
知识点:
- 了解 爬虫的概念
- 了解 爬虫的分类
- 掌握 爬虫的流程
1.1 爬虫的概念
网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
- 原则上,只要是浏览器(客户端)能做的事情,爬虫都能做。
- 爬虫只能获取到浏览器(客户端)所展示出来的数据。
简而言之:爬虫就是模拟浏览器,发送请求,获取响应。
1.2 爬虫的作用
(1)12306抢票
(2)给喜欢的明星点赞、投票
(3)新闻聚合网站: 百度新闻
(4)搜索引擎
(5)抓取微博评论(机器学习舆情分析)
(6)抓取招聘网站的招聘数据(数据分析、挖掘)
1.3 爬虫的流程
爬虫流程如下图所示:
(1)向起始的 url 地址发送请求,并获取响应数据(需要 http 协议)。
(2)对响应进行提取。
(3)如果提取 url,则继续发送请求获取响应。
(4)如果提取数据,将数据进行保存。
02_HTTP 与 HTTPS
知识点:
- 了解 HTTP 的概念
- 掌握 HTTP 请求的过程
- 了解 用户访问网页背后发生了什么
- 掌握 HTTP 请求的格式
- 掌握 HTTP 响应格式
- 掌握 HTTP 常见请求头
- 掌握 HTTP 常见的响应状态码
2.1 HTTP 以及 HTTPS 的概念和区别
- HTTP:超文本传输协议,默认端口号是 80。
- 超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件。
- 传输协议:是指使用共用约定的固定格式来传递转换成字符串的超文本内容。
- HTTPS:HTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协议,默认端口号:443。
- SSL 对传输的内容(超文本,也就是请求体或响应体)进行加密。
HTTPS比HTTP更安全,但是性能更低
2.2 HTTP 请求过程
2.2.1 HTTP 单次请求过程
2.2.2 浏览器请求过程
- 浏览器通过域名解析服务器(DNS)获取IP地址
- 浏览器先向IP发起请求,并获取响应
- 在返回的响应内容(html)中,可能会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
- 浏览器每获取一个响应就对展示出的结果进行添加(加载),js、css等内容可能会修改页面的内容,js也可以重新发送请求,获取响应
- 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改————这个过程叫做浏览器的渲染
2.2.3 注意
但是在爬虫中,爬虫只会请求url地址,对应的拿到url地址对应的响应(该响应的内容可以是html,css,js,图