User-Agent解析大全:从基础原理到爬虫实战 📅 2026/7/19 9:36:36 1. User-Agent基础解析与历史沿革User-Agent用户代理字符串是HTTP协议中最重要的请求头之一它像浏览器的身份证一样向服务器传递客户端的环境信息。一个典型的现代浏览器UA字符串包含以下结构Mozilla/5.0 (平台信息) 引擎信息 浏览器信息这种看似复杂的格式源于浏览器发展史上的多次兼容性调整。1993年Netscape浏览器首次使用Mozilla/版本号作为标识后来IE为兼容Netscape网站也加入了Mozilla前缀最终形成了现在所有主流浏览器都包含Mozilla标识的有趣现象。注意现代浏览器已开始实施User-Agent削减计划UA Reduction部分设备信息会被替换为固定值以增强隐私保护。例如Android设备统一显示为Android 10设备型号显示为K。2. 主流浏览器UA字符串大全2.1 桌面浏览器Chrome (Windows):Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36Firefox (macOS):Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/115.0Edge (Windows):Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0Safari (macOS):Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.152.2 移动端浏览器iOS Safari:Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1Android Chrome:Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36微信内置浏览器:Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/120.0.0.0 Mobile Safari/537.36 MMWEBID/1.0 MicroMessenger/8.0.40(0x28002851) WeChat/arm643. 爬虫与工具类UA大全3.1 搜索引擎爬虫Googlebot:Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html)Baiduspider:Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)3.2 开发工具Postman:PostmanRuntime/7.32.3curl:curl/7.88.1Python requests:python-requests/2.31.04. UA解析与生成工具实战4.1 浏览器UA检测代码示例JavaScript检测示例function parseUA(ua) { const browser { isMobile: /Mobile|Android|iPhone/i.test(ua), isChrome: /Chrome\//i.test(ua) !/Edge\//i.test(ua), isFirefox: /Firefox\//i.test(ua), isSafari: /Safari\//i.test(ua) !/Chrome\//i.test(ua), isEdge: /Edge\//i.test(ua), version: ua.match(/(Chrome|Firefox|Safari|Edge)\/([\d.])/i)?.[2] || }; return browser; }4.2 常用UA生成工具随机UA生成网站UserAgentString.comWhatIsMyBrowser.comPython fake-useragent库from fake_useragent import UserAgent ua UserAgent() print(ua.chrome) # 随机生成Chrome UA实操技巧在爬虫项目中建议维护一个UA池轮换使用避免单一UA被封锁。同时要注意UA与请求头其他字段如Accept-Language的合理搭配。5. UA使用场景与注意事项5.1 典型应用场景爬虫开发模拟不同浏览器访问网站统计分析用户设备分布兼容性测试针对不同浏览器提供差异化内容反爬策略识别可疑的自动化请求5.2 常见问题排查问题1服务器返回403错误检查UA是否被目标网站屏蔽尝试使用更常见的浏览器UA问题2网页布局异常确保UA与实际浏览器版本匹配检查响应中的内容协商结果问题3移动端检测不准确同时检查UA和viewport meta标签考虑使用CSS媒体查询作为补充6. UA的未来发展趋势随着隐私保护要求的提高User-Agent正在经历重大变革削减计划Reduction固定平台版本号如Android 10隐藏具体设备型号简化版本号显示替代方案User-Agent Client Hints通过JavaScript API获取更精确的客户端信息渐进式迁移建议逐步减少对UA字符串的依赖优先使用特性检测而非UA检测对关键业务功能实施降级方案在实际项目中我建议采用特性检测为主UA检测为辅的策略。例如检测WebGL支持情况时优先使用WebGLRenderingContext in window而非通过UA判断浏览器版本。