1,爬虫的概念
模拟浏览器,发送请求,获取响应
2、爬虫的作用
数据采集,软件测试,抢票,网站上的投票,网络安全
3、爬虫分类
数量,是否获取数据数据,url与数据的关系
4、爬虫的流程
url
发请求,获取响应
解析
http,
1、http以及https的概念和区别
HTTP与HTTPS相比,HTTPS更安全,但是性能更低
HTTP:超文本传输协议,默认端口号是80
o超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件
。传输协议:是指使用共用约定的固定格式来传递转换成字符串的超文本内容
·HTTPS:HTTP+SSL(安全套接字层),即带有安全套接字层的超本文传输协,默认路口号:443
。SSL对传输的内容(超文本,也就是请求体或响应体)进行加密
·可以打开浏览器访问一个url,右键检查,点击net work,点选一个url,查看http协议的形式
2、常见的请求头与响应头
请求头
host 域名
Connecion 长链接
Upgrade-Insecure-Requests 升级为HTTPS请求
*User-Agent 用户代理,提供系统信息和浏览器信息
*Referer 页面跳转处,用于防盗链(图片,视频)
*Cookie 保持状态,用于登录(例如VIP)
Authonrization (用于表示HTTP协议中需要认证资源的认证信息,如web中用于jwt认证) ( 用于自己测试)
响应头
Set-Cookie (对方服务器设置cookie到用户浏览器的缓存)
3、常见的状态码
·200:成功
·302:跳转,新的url在响应的Location头中给出
·303:浏览对于POST的响应进行重定向至新的url
·307:浏览器对于GET的响应重定向至新的url
·403:资源不可用;服务器理解客户的请求,但拒绝处理它(没有权限)
·404:找不到该页面
·500:服务器内部错误
·503:服务由于维护或者负载过重未箭应答,在响应中可能可能会携帶Retry-After响应头;可能 是因为爬虫频繁访问url,使服务器忽视爬虫的请求,最终返回503响应状态码
所有的状态码都不可信,一切以是否从抓包得到的响应获取到数据为准
network中抓包得到的源码才是判断依据,elements中的源码是渲染之后不能作为判断标准
4、浏览器请求的过程
浏览器
发送所有请求,进行渲染
爬虫
只发送请求,不会渲染
骨骼文件
html静态文件
肌肉文件
js/ajax请求
皮肤文件
css/font/图片等
抓包过程
根据发送请求的流程,分别在骨骼,肌肉,皮肤响应中查找数据