Skip to main content

A professional random User-Agent generator for web scraping.

Project description

🎭 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fake_random_useragent-1.0.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fake_random_useragent-1.0.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

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

Hashes for fake_random_useragent-1.0.0.tar.gz
Algorithm Hash digest
SHA256 340b99a934f3802d9714c9b39aeaa84ce5237fcd9fb312e754b08184742c3621
MD5 1fbe8793f84510a42cca2276d2923d17
BLAKE2b-256 f04681606c238b9fea02c92c92dad3d04878fb35b7e4798e2406e0cb86b9b2ed

See more details on using hashes here.

File details

Details for the file fake_random_useragent-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fake_random_useragent-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 940ff42322fe65f1ccddb89bf63e4d78c590c29c98ff7eeea5d6c773094c9e1e
MD5 3e5d6ee23e68ddb9d79086485691d8a5
BLAKE2b-256 626bcfaaddc2b945aa196ea019f52fde84f16d1046990d96ffb18b9de293eebd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page