Skip to main content

🎭 Fake-random-userAgent 🎭

PyPI Version License Python Version

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)

Source distribution for fake-random-useragent 1.0.0
File Size Uploaded
fake_random_useragent-1.0.0.tar.gz 7.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fake-random-useragent 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page