1.爬虫的概念
模拟浏览器,发送请求,获取响应。
2.爬虫的作用
数据采集
软件测试
抢票
网站上的投票
网络安全
3.爬虫的分类
爬虫根据数量:分为通用爬虫、聚焦爬虫
聚焦爬虫根据是否获取数据:分为:功能性爬虫(不读取数据,只为实现某一功能)、数据增量爬虫(获取数据,用于后续分析)
数据增量爬虫根据url与数据的关系:分为url与数据同时变化、url不变数据变化。
4.爬虫的流程
url或url_list(网址或网址列表)
发请求,获取响应
解析
5.http、https
https比http更安全,但性能也相对较低。
6.常见的请求头与响应头
请求头:
host:域名
connection:长连接
Upgrade-Insecure-requests:升级为https
***User-Agent:用户代理,提供系统信息和浏览器信息。
***Referer:页面跳转处,防盗链(图片/视频)
***Cookie:状态保持
响应头:
Set-Cookie
7.状态码
所有的状态码都不可信,一切以是否从抓包的响应中获取到数据为准。
network(网络)中抓包得到的源码才是判断依据,elements(元素)中的源码是渲染之后的源码,不能作为判断标准。
8.浏览器请求过程
浏览器
发送所有请求进行渲染。
爬虫
只发送指定请求,不会渲染。
如何抓包(根据什么)
骨骼文件:html静态文件
肌肉文件:js / ajax请求
皮肤:css / font / 图片
抓包过程:
根据发送请求的流程分别在骨骼 / 肌肉 / 皮肤响应中查找数据