random-user-agent的使用

random-user-agent介绍

random-user-agent 是一个用于随机生成用户代理字符串的 Python 库。它可以帮助你在进行网络爬虫或发送 HTTP 请求时随机化用户代理,从而降低被网站检测的风险。

1
pip install random-user-agent

random-user-agent的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
from random_user_agent.user_agent import UserAgent
from random_user_agent.params import SoftwareName, OperatingSystem

def random_user_agent():
# 生成随机的user-agent
software_names = [SoftwareName.CHROME.value, SoftwareName.FIREFOX.value, SoftwareName.EDGE.value,
SoftwareName.SAFARI] # 指定浏览器
operating_systems = [OperatingSystem.WINDOWS.value] # 指定操作系统

user_agent_rotator = UserAgent(software_names=software_names, operating_systems=operating_systems, limit=100)

random_user_agent = user_agent_rotator.get_random_user_agent()
return random_user_agent

在上述代码是使用random_user_agent的示例,random_user_agent可以生成多种浏览器的及操作系统的user_agent,使用起来非常的方便,定制性非常强,用户可以根据自己的需要去定制ua生成的范围,比如某些网站只支持web浏览器的请求头,那么operating_systems参数就可以指定对应的ua生成范围为web浏览器。

software_names参数用来指定浏览器,接收的是一个列表参数,下面是software_names参数支持的浏览器类型,支持的浏览器非常的多,除了主流的浏览器之外支持其他的浏览器。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ALERTSITE_MONITORING_BOT = 'alertsite-monitoring-bot'
ANDROID = 'android-browser'
AWESOMIUM = 'awesomium'
BLACKBERRY = 'blackberry-browser'
CATCHPOINT_ANALYSER = 'catchpoint-analyser'
CHROME = 'chrome'
CHROMIUM = 'chromium'
COSMOS_CRAWLER = 'cosmos-crawler'
DOTCOM_MONITOR_BOT = 'dotcom-monitor-bot'
EDGE = 'edge'
FIREFOX = 'firefox'
FIREFOX_FOCUS = 'firefox-focus'
GOOGLE_APP_ENGINE = 'google-app-engine-software'
......

operating_systems参数用来指定操作系统,接收的也是一个列表参数,下面是operating_systems参数支持的操作系统类型,支持的操作系统也是非常的多

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
UNIX = 'a-unix-based-os'
ANDROID = 'android'
BADA = 'bada'
BEOS = 'beos'
BLACKBERRY = 'blackberry-os'
CHROMEOS = 'chromeos'
FIRE_OS = 'fire-os'
FREEBSD = 'freebsd'
HAIKU = 'haiku'
IOS = 'ios'
LINUX = 'linux'
MAC = 'mac'
MAC_OS_X = 'mac-os-x'
MACOS = 'macos'
OPENBSD = 'openbsd'
SUNOS = 'sunos'
SYMBIAN = 'symbian'
WEBOS = 'webos'
WINDOWS = 'windows'
WINDOWS_MOBILE = 'windows-mobile'
WINDOWS_PHONE = 'windows-phone'
HP_WEBOS = 'hp-webos'
DARWIN = 'darwin'
IRIX = 'irix'
RIM_TABLET_OS = 'rim-tablet-os'
LIVEAREA = 'livearea'
PALMOS = 'palmos'

limit参数用来指定生成ua的个数,最终从生成的ua中随机选择一个ua返回。

random-user-agent库的优势

1.随机化用户代理:通过随机生成用户代理字符串,可以有效降低被网站检测到的风险,避免被封锁或限制访问。
2.易于使用:库的 API 设计简单,方便快速集成到现有项目中,无需复杂配置。
3.多样化用户代理:提供了多种常见的用户代理字符串,可以模拟不同浏览器和设备,增加请求的多样性。
4.缓存支持:支持缓存功能,可以提升获取用户代理的速度,减少请求延迟。
5.可定制:用户可以传入自定义的用户代理列表,满足特定需求,提供灵活性。
6.跨平台:作为一个 Python 库,支持在多种操作系统上使用,适合各种环境。