Python爬虫中fake-useragent库的随机UserAgent生成与配置详解

花开有时
花开有时
发布时间:2026-10-13| 6人浏览过
原创

本文介绍Python中fake-useragent库的安装与使用方法,展示如何随机生成各类浏览器UserAgent以辅助爬虫开发。重点解析缓存异常FakeUserAgentError的解决方案,包括禁用服务器缓存及添加本地数据文件的高级配置,帮助开发者规避网络请求失败问题。

在Python爬虫开发中,模拟UserAgent是常见的反爬策略应对手段,因此自动生成UserAgent的功能显得尤为实用。近期发现了一个名为fake-useragent的Python库,它能够随机生成多种浏览器的UserAgent字符串,在此记录其用法,以便后续爬虫项目直接调用。

安装 pip install fake-useragent

使用案例

基本使用

from fake_useragent import UserAgent
ua = UserAgent()
ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
ua.msie
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
ua['Internet Explorer']
# Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)
ua.opera
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
ua.chrome
# Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'
ua.google
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13
ua['google chrome']
# Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11
ua.firefox
# Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
ua.ff
# Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
ua.safari
# Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
# and the best one, random via real world browser usage statistic
ua.random

注意:

fake-useragent 会将收集到的数据缓存至临时文件夹(如 /tmp)。若需手动更新数据,可执行以下操作:

from fake_useragent import UserAgent
ua = UserAgent()
ua.update()

有时因网络波动或其他原因,可能会抛出异常(fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached)。此前在此处踩过坑,未仔细阅读文档所致:可通过禁用服务器缓存来解决该问题:

from fake_useragent import UserAgent
ua = UserAgent(use_cache_server=False)

从 v0.1.4 版本开始,支持添加本地数据文件:

import fake_useragent
# I am STRONGLY!!! recommend to use version suffix
location = '/home/user/fake_useragent%s.json' % fake_useragent.VERSION
ua = fake_useragent.UserAgent(path=location)
ua.random

其他功能使用频率较低,详细用法请参阅官方文档。

总结

以上就是本文的全部内容,希望这些内容能对各位的学习或工作提供参考价值。感谢大家对本站的支持。如需了解更多相关信息,请查阅下方相关链接。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。