A professional random User-Agent generator for web scraping.
Project description
🎭 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fake_random_useragent-1.0.0.tar.gz.
File metadata
- Download URL: fake_random_useragent-1.0.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
340b99a934f3802d9714c9b39aeaa84ce5237fcd9fb312e754b08184742c3621
|
|
| MD5 |
1fbe8793f84510a42cca2276d2923d17
|
|
| BLAKE2b-256 |
f04681606c238b9fea02c92c92dad3d04878fb35b7e4798e2406e0cb86b9b2ed
|
File details
Details for the file fake_random_useragent-1.0.0-py3-none-any.whl.
File metadata
- Download URL: fake_random_useragent-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
940ff42322fe65f1ccddb89bf63e4d78c590c29c98ff7eeea5d6c773094c9e1e
|
|
| MD5 |
3e5d6ee23e68ddb9d79086485691d8a5
|
|
| BLAKE2b-256 |
626bcfaaddc2b945aa196ea019f52fde84f16d1046990d96ffb18b9de293eebd
|