python爬虫04-常见反爬

发布时间:2024年01月13日

目录

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) # <Response [200]>

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知道客户端是谁;
对比项cookiesession
存储位置存储在客户端存储 在服务器
存储大小一般小于4KB大小无限制,但一般不会太大
存储有效期不超过设置过期时间,可以一直存储一般session是30分钟
安全性存储在客户端,所以可以分析cookie进行cookie欺骗存储在服务器,安全性较高
跨域支持cookie支持跨域访问session不支持跨域访问
扩展跨域:协议,ip地址,端口
对服务器压力不占用服务器资源占用服务器资源
数据类型只能是ASCII编码字符串任意数据类型

文章来源:https://blog.csdn.net/u013805267/article/details/135556903
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。