乐之之

知而行乐,乐而行之,天道酬勤,学无止境。
常见反爬措施——ua反爬

UA伪装

  在爬虫过程中许多网站都会存在一些反爬措施,有些防护措施不高,像ua反爬这种只检查浏览器信息的防护措施。简单介绍一下

一、User-Agent简介

  用户代理(User-Agent),表示的是用户的浏览器相关信息,该反爬逻辑是通过服务器端验证请求头中的 User-Agent 参数,然后区分是爬虫程序还是正常的浏览器访问。

  访问任意网站,唤醒开发者工具,然后在控制台中输入 navigator.userAgent,就可以获取到 UA 字符串(User-Agent 字符串)。

  同样,可以在network(网络)中的标头中找到自己的ua信息。

信息详解:

  UA 字符串的格式一般可以这么理解:

  • 平台 引擎版本 浏览器版本信息。

  如果在详细分解,可以得到如下格式:

  • 浏览器标识 (操作系统标识;加密等级;浏览器语言) 引擎版本 浏览器版本信息。

含义:

  • Mozilla/5.0:表示浏览器;
  • Windows NT 6.1:操作系统,我这里得到的是 Windows 7 操作系统;
  • Win64/WOW64:64 位操作系统;
  • x64:发行版本;
  • N,I,U:加密等级,这里没有出现;
  • AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36:这个如果你去研究,也有很多趣事,不过咱们理解其是浏览器的版本就可以了。

二、反爬案例运用

在这里介绍ua伪装的两种方法:

1、fake_useragent

  • python第三方库,我们通过pip install fake_useragent命令下载,可以随机生成一个ua信息,进行ua伪装。
import fake_useragent

ua = fake_useragent.UserAgent()

print(ua.random)

 结果如图所示:

  • 同时也可以指定你想要的浏览器类型进行伪装。

2、网站复制ua信息

  • 在下面这个网站上复制你所要的ua信息,组建一个列表,循环取用即可。
  • https://useragentstring.com/pages/useragentstring.php?typ=Browser

  对于ua的伪装个人建议使用fake_useragent库自己生成1000个,然后放进列表中,进行循环取用,这样可以节省一些运行时间,当然怕麻烦也可以直接导入换headers。

  对于ua伪装的介绍就到这里了,后续有新发现会继续补充!

posted on 2023-03-15 13:00  乐之之  阅读(226)  评论(0编辑  收藏  举报