Python中如何获取好用的user-agent列表推荐?
最好能指定 PC/Mobile,iOS/android,浏览器类型,手机品牌等等的。
弱弱地问一句,有现成的嘛?
没有考虑写一个。
Python中如何获取好用的user-agent列表推荐?
5 回复
import requests
from fake_useragent import UserAgent
import random
# 方法1: 使用fake-useragent库(推荐)
def get_random_ua():
"""获取随机User-Agent"""
ua = UserAgent()
return ua.random
# 方法2: 维护自己的优质UA列表
def get_custom_ua_list():
"""自定义UA列表,包含常见浏览器最新版本"""
ua_list = [
# Chrome
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
# Firefox
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0',
# Safari
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Safari/605.1.15',
# Edge
'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.0'
]
return random.choice(ua_list)
# 方法3: 从在线资源获取(需要网络)
def fetch_live_ua_list():
"""从useragentstring.com获取最新UA"""
try:
url = "http://useragentstring.com/pages/useragentstring.php?name=Chrome"
response = requests.get(url, timeout=5)
# 这里需要根据实际网页结构解析,示例仅展示思路
# 实际使用时建议用BeautifulSoup解析
return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
except:
return get_custom_ua_list() # 降级方案
# 使用示例
if __name__ == "__main__":
# 安装依赖: pip install fake-useragent requests
print("方法1 - 随机UA:", get_random_ua())
print("方法2 - 自定义UA:", get_custom_ua_list())
# 在requests中使用
headers = {
'User-Agent': get_random_ua(),
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
}
# 示例请求
# response = requests.get('https://httpbin.org/user-agent', headers=headers)
# print(response.json())
核心方案:
- fake-useragent库:
pip install fake-useragent,自动维护更新,最省心 - 自维护列表:稳定可控,适合生产环境
- 在线获取:动态更新但依赖网络
建议直接上fake-useragent,记得定期更新库。
看了下,无法区分 PC/Mobile,issues 里也都在提这个。
不过在 issues 里发现了这个
http://等级 www.useragentstring.com 不够 /pages/useragentstring.php
后来找了一个很接地气的
http://www.fynas.com/ua/search?d=&b=&k=&page=

