爬虫中的User-Agent 使用与作用
原文链接:https://zhuanlan.zhihu.com/p/49731572
- User-Agent
按照百度百科的解释:User-Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。网站可以通判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,对于爬虫来说,UA就是标明身份的第一层标识。
以谷歌浏览器为例,Chrome的User-Agent为
1 | Mozilla / 5.0 (Windows NT 10.0 ; Win64; x64) AppleWebKit / 537.36 (KHTML, like Gecko) Chrome / 70.0 . 3538.102 Safari / 537.36 |
快速获取浏览器的User-Agent的方法也很简单,只需要在地址栏中输入:about:version即可,如下图所示:
当我们使用爬虫请求网页时,我们不伪装请求头,以http://www.httpbin.org/get为例,使用requests的GET直接请求,得到如下结果:
可以看到,User-Agent直接显示为requests的版本号,接下来我们加入User-Agent试试。
很清楚的看到,User-Agent已经被替换成浏览器的标识了,而我们使用爬虫时也大多会带上这个请求头,但这只是一个User-Agent,也很容易被网站通过相同浏览器频繁访问而识别为爬虫程序,所以一般通过使用多个User-Agent随机调用的方式,避免一个请求头长时间访问。
使用random的方式随机调用headers_list中的User-Agent,可以有效避免同一个请求头访问网站,但每次使用时,还需要自己寻找各种浏览器的User-Agent,再将其复制过来,显得有些麻烦,这个时候我们另寻他法,有一个第三方库恰好可以解决这类问题。
fake-useragent
安装方法和其他第三方库一样,pip install fake-useragent即可。
使用方法也十分简单,导入类中的UserAgent类,然后在使用random方法就可以获得一个User-Agent了,还支持指定浏览器的User-Agent功能。
我们也可以通过网站https://fake-useragent.herokuapp.com/browsers/0.1.11看到fake_useragent库里面所提供的这几款浏览器的User-Agent,如图:
可以看到fake_useragent提供了很多User-Agent,所以我们在使用随机User-Agent的时候,不用担心重复的问题了。当然User-Agent只是第一步,基本上大家在写爬虫的时候都会带上请求头,配合上ip代理使用的话,爬虫的伪装能力就会大大增强了。

您的资助是我最大的动力!
金额随意,欢迎来赏!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)