爬虫基础02
文章目录
一、http/https协议的用处
二、http以及https的概念和区别
HTTPS比HTTP更安全但是性能更低
●HTTP:超文本传输协议,默认端口号是80
- 超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件
- 传输协议:是指使用共用约定的固定格式来传递转换成字符串的超文本内容
●HTTPS: HTTP + SSL(安全套接字层), 即带有安全套接字层的超本文传输协,默认端口号: 443
- SSL对传输的内容(超文本,也就是请求体或响应体)进行加密
- 可以打开浏览器访问- -个url, 右键检查,点击net work, 点选一 个url, 查看http协议的形式
三、常见的请求头与响应头
1、请求头
host | 域名 |
---|---|
Connection | 长连接 |
Upgrade-Insecure-Requests | 升级为HTTPS请求 |
User-Agent | 用户代理,提供系统信息和浏览器信息 |
Referer | 页面跳转处,防盗链(图片/视频) |
Cookie | 状态保持 |
2、响应头
Set-Cookie (对方服务器设置cookie到用户浏览器的缓存)
四、常见的响应状态码
●200:成功
●302: 跳转,新的urI在响应的L ocation头中给出
●303: 浏览器对于POST的响应进行重定向至新的url
●307:浏览器对于GET的响应重定向至新的url
●403: 资源不可用;服务器理解客户的请求,但拒绝处理它(没有权限)
●404:找不到该页面
●500: 服务器内部错误
●503: 服务器由于维护或者负载过重未能应答,在响应中可能可能会携带Retry-After响应头;有
可能是因为爬虫频繁访问url,使服务器忽视爬虫的请求,最终返回503响应状态码
所有的状态码都不可信,一切以是否从抓包得到的响应中获取到数据为准
五、浏览器的运行过程
1、http的请求过程
1.浏览器在拿到域名对应的ip后,先向地址栏中的url发起请求,并获取响应
2.在返回的响应内容(html) 中,会带有css、js、 图片等url地址,以及ajax代码, 浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
3.浏览器每获取一个响应就对展示出的结果进行添加(加载),js, css等内容会修改页面的内容,js也可以重新发送请求,获取响应
4.从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改— -这个过程叫做浏览器的渲染
2、注意
但是在爬虫中,爬虫只会请求url地址,对应的拿到url地址对应的响应(该响应的内容可以是html,
css, js,图片等)
浏览器渲染出来的页面和爬虫请求的页面很多时候并不一样,是因为爬虫不具备渲染的能力(当然后
续课程中我们会借助其它工具或包来帮助爬虫对响应内容进行渲染)
浏览器:发送所有请求,进行渲染
爬虫:只发送指定请求,不会渲染
六、抓包顺序
骨骼文件 | html静态文件 |
---|---|
肌肉文件 | js/ajax请求 |
皮肤 | css/font/图片 |
骨骼>肌肉>皮肤