常见反爬措施——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伪装的介绍就到这里了,后续有新发现会继续补充!