python爬虫04-常见反爬

目录

1、常见反爬

2、User-Agent

2.1 伪装库:fake-useragent               

3、Referer参数

4、Cookie参数

4.1 cookie是什么

4.2 cookie的级别

4.3 session

1、常见反爬

  • User-Agent:浏览器身份标识;
  • Referer:请求的来源;
  • cookie:请求身份标识;

2、User-Agent

user-agent:是识别浏览器的一串字符串,相当于浏览器的身份证,在爬取网站数据时,频繁的更换可以避免触发相对应的反爬机制;

2.1 伪装库:fake-useragent               
  • 安装 fake-useragent                                                ----  fake :伪装;伪造;冒充

pip install fake-useragent

  • 使用 fake-useragent
import  requests
import fake_useragent
#自动生成UserAgent
ua = fake_useragent.UserAgent().random
headers = {
    'user-Agent':ua
}
resp = requests.get('https://www.douyin.com/', headers = headers)
print(resp) # 

3、Referer参数

  • 作用: 主要是标识请求从哪个页面过来的;
    • 例如:在登录某站点,成功会跳转到主页面,那么Referer的值就是登录页面的url;
  • 场景:来源统计,防盗链处理等;
    • 一般将网站的默认主页作为Referer值;

4、Cookie参数

4.1 cookie是什么
  • cookie是浏览器保存在客户端电脑上的一小段文本;
  • 通俗点说:一个用户访问服务器是,服务器会讲一些key-value对返回给浏览器客户端,并给这些数据加一些限制,这个用户下次访问服务器时,数据通过请求头又被完整的给带回服务器,服务器根据这些信息判断识别不同用户;
  • http请求是无状态请求,所以这个cookie就标识了请求身份;如果不加cookie,哪怕是连续两次请求,服务器也无法确定是不是同一个用户访问;
4.2 cookie的级别
  • 会话级别cookie:就是浏览器管理后cookie即刻失效;
  • 持久级别cookie:保存在硬盘,只要设置过期时间,就是持久级别cookie;
4.3 session
  • session和cookie存在都是因为http的无状态请求;
  • cookie传输的sessionId让session知道客户端是谁;
对比项 cookie session
存储位置 存储在客户端 存储 在服务器
存储大小 一般小于4KB 大小无限制,但一般不会太大
存储有效期 不超过设置过期时间,可以一直存储 一般session是30分钟
安全性 存储在客户端,所以可以分析cookie进行cookie欺骗 存储在服务器,安全性较高
跨域支持 cookie支持跨域访问 session不支持跨域访问
扩展跨域:协议,ip地址,端口
对服务器压力 不占用服务器资源 占用服务器资源
数据类型 只能是ASCII编码字符串 任意数据类型

你可能感兴趣的:(python-爬虫,python,爬虫,开发语言)