🎭 Fake-random-userAgent 🎭
RU: Случайный User-Agent Генератор для Python
✨ О проекте
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')
EN: Random User-Agent Generator for Python
✨ About The Project
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.
💾 Installation
The library is available on PyPI. Use pip to install it into your virtual environment:
pip install fake-random-useragent
🚀 Usage (Quick Start)
Using 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']}")
⚙️ Available Filters and Properties
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')
🤝 Contributing and License
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
Metadata
Release files for fake-random-useragent 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fake_random_useragent-1.0.0.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fake_random_useragent-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.8 kB
Release files / fake_random_useragent-1.0.0.tar.gz
| Download URL | fake_random_useragent-1.0.0.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
340b99a934f3802d9714c9b39aeaa84ce5237fcd9fb312e754b08184742c3621
|
|
BLAKE2b-256 checksum How to use checksums |
f04681606c238b9fea02c92c92dad3d04878fb35b7e4798e2406e0cb86b9b2ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / fake_random_useragent-1.0.0-py3-none-any.whl
| Download URL | fake_random_useragent-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
940ff42322fe65f1ccddb89bf63e4d78c590c29c98ff7eeea5d6c773094c9e1e
|
|
BLAKE2b-256 checksum How to use checksums |
626bcfaaddc2b945aa196ea019f52fde84f16d1046990d96ffb18b9de293eebd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|