Fake-random-userAgent — это легковесная и эффективная Python-библиотека для получения случайных, реалистичных строк User-Agent. Она разработана специально для нужд веб-скрейпинга, автоматизации и тестирования, помогая вашим HTTP-запросам избежать блокировок и выглядеть естественно.
- Встроенная база данных: Библиотека поставляется с обширным, встроенным набором данных (более 10 000 актуальных User-Agent), охватывающих все основные операционные системы и браузеры (Chrome, Firefox, Safari, iOS, Android и т.д.).
- Простота: Загрузка данных происходит один раз при инициализации класса.
Библиотека доступна через PyPI. Используйте pip для установки:
pip install fake-random-useragentИспользовать библиотеку максимально просто. Импортируйте класс UserAgent и используйте его динамические свойства для получения нужного агента.
from fake_random_useragent import UserAgent
import requests
ua = UserAgent()
# 1. Получение случайного агента (любого)
print(f"Случайный агент (ua.random): {ua.random}")
# Также работает: print(f"Случайный агент (print(ua)): {ua}")
# 2. Получение агента по конкретному браузеру/типу (динамические свойства)
print(f"Только Chrome: {ua.chrome}")
print(f"Только Яндекс.Браузер: {ua.yandex}")
print(f"Только Desktop: {ua.desktop}")
# 3. Использование в HTTP-запросе (Пример с Requests)
headers = {
'User-Agent': ua.get_random(browser='yandex', os='win')
}
response = requests.get('https://httpbin.org/user-agent', headers=headers)
print(f"\nUA, отправленный на сервер: {response.json()['user-agent']}")A. Свойства (Прямой доступ через ua.имя)
Свойство | Эквивалент get_random()
––––––––––––––––––––––––––––––––––––––––––––––––
ua.random | ua.get_random()
ua.desktop | ua.get_random(type='desktop')
ua.mobile | ua.get_random(type='mobile')
ua.chrome | ua.get_random(browser='chrome')
ua.firefox | ua.get_random(browser='firefox')
ua.safari | ua.get_random(browser='safari')
ua.yandex | ua.get_random(browser='yabrowser')
ua.windows | ua.get_random(os='windows')
ua.macos | ua.get_random(os='mac os x')
ua.android | ua.get_random(os='android')
B. Комбинированная фильтрация (ua.get_random())
Используйте метод get_random() для точной настройки по нескольким параметрам одновременно. Фильтрация использует гибкое совпадение (проверяет, что значение содержится в поле).
Параметр | Описание
——————————————————————————————————————
browser | Название браузера
os | Операционная система
type | Тип устройства
device_brand | Бренд устройства
os_version | Версия ОС
# Пример: Chrome на Android 14
agent = ua.get_random(browser='Chrome', os='Android', os_version='14')
# Пример: Мобильный Firefox на iOS
agent = ua.get_random(browser='Firefox', os='iOS', type='mobile')Fake-random-userAgent is a lightweight and flexible Python library for retrieving random, realistic User-Agent strings. It uses a comprehensive, built-in dataset to generate agents that help your HTTP requests avoid bot detection and appear legitimate.
With its flexible filtering system, you can easily retrieve an agent specific to a particular browser, operating system, or device type.
The library is available on PyPI. Use pip to install it into your virtual environment:
pip install fake-random-useragentUsing the library is straightforward. Import the UserAgent class and use its dynamic properties to get the desired agent.
from fake_random_useragent import UserAgent
import requests
ua = UserAgent()
# 1. Get a completely random agent
print(f"Random Agent (ua.random): {ua.random}")
# Also works: print(f"Random Agent (print(ua)): {ua}")
# 2. Get an agent by specific browser/type (dynamic properties)
print(f"Only Firefox: {ua.firefox}")
print(f"Only Safari: {ua.safari}")
print(f"Only Mobile: {ua.mobile}")
# 3. Use in an HTTP Request Example (with Requests)
headers = {
'User-Agent': ua.get_random(browser='yandex', os='win')
}
response = requests.get('https://httpbin.org/user-agent', headers=headers)
print(f"\nUA sent to server: {response.json()['user-agent']}")A. Properties (Direct access via ua.name)
Property | Equivalent get_random()
––––––––––––––––––––––––––––––––––––––––––––––––
ua.random | ua.get_random()
ua.desktop | ua.get_random(type='desktop')
ua.mobile | ua.get_random(type='mobile')
ua.chrome | ua.get_random(browser='chrome')
ua.firefox | ua.get_random(browser='firefox')
ua.safari | ua.get_random(browser='safari')
ua.yandex | ua.get_random(browser='yabrowser')
ua.windows | ua.get_random(os='windows')
ua.macos | ua.get_random(os='mac os x')
ua.android | ua.get_random(os='android')
B. Combined Filtering (ua.get_random())
Use the get_random() method for precise targeting using multiple parameters simultaneously. Filtering uses soft matching (checks if the value is contained within the field).
Parameter | Description Example
————————————————––––––––––––––––––––––––––––––––––––––––––––––––––––––––
browser | Browser name (Chrome, Firefox, YaBrowser, etc.)
os | Operating System (Windows, iOS, Android, Mac OS X)
type | Device type (desktop, mobile, tablet)
device_brand | Device manufacturer (Apple, Samsung, Huawei)
os_version | OS version (e.g., '14' for Android 14, '18' for iOS 18)
# Example: Yandex on Windows
agent = ua.get_random(browser='Yandex', os='Windows')
# Example: Mobile Chrome on Android 10
agent = ua.get_random(browser='Chrome', os='Android', os_version='10', type='mobile')We welcome contributions, bug reports, and feature suggestions!
License: Distributed under the MIT License. See LICENSE for more information.
Project Link: https://github.com/RidersWeb/Fake-random-userAgent