Бесплатное тестирование доступно для жителей Франции , Великобритании или Сингапура в Telegram Присоединяйтесь к Telegram
Руководство по настройке Python

Настройка мобильного прокси в Python

Пошаговое руководство по настройке мобильного прокси на Python. Настройте библиотеки requests, httpx, aiohttp и Selenium для отказоустойчивой автоматизации и веб-парсинга с использованием реальных IP-адресов операторов 4G/5G.

PXM2 Proxies September 22, 2026 Время чтения: 8 минут
Python 3.9+ Версия среды выполнения
requests & httpx Библиотеки, включенные в обзор
Selenium Автоматизация работы браузера
7+ Доступно стран
  • запросы с использованием пула сессий — поддержка «привязанных» сессий и повторное использование TCP-соединений для сотен HTTP-запросов.
  • httpx и aiohttp с высокой степенью параллелизма — настройка асинхронных клиентских транспортных протоколов с полной поддержкой HTTP/2 и SOCKS5-прокси.
  • Интеграция с Headless Selenium — беспроблемная передача аргументов прокси и обработка расширений браузера для аутентификации.
  • Устойчивые конвейеры повторных попыток — автоматически определяют периоды ожидания при ротации IP-адресов и повторяют попытки при временных сбоях связи.
Мобильные прокси 4G / 5G Веб-автоматизация на Python
Поддерживаемые фреймворкиrequests, httpx, aiohttp, Selenium
Транспортные протоколыHTTP, HTTPS, SOCKS5 (socks5h)
Управление сессиямиПул соединений и Keep-Alive
Обработка ротации IP-адресовurllib3: повторные попытки и триггеры API
Поддержка асинхронного и синхронного режимов работы

Пулы соединений

Автоматические повторные попытки

Библиотеки прокси для Python

Python является основным языком программирования для веб-парсинга, автоматизации и построения конвейеров обработки данных. Однако различные библиотеки Python взаимодействуют с прокси на разных уровнях сетевого стека. Выбор подходящей библиотеки зависит от того, требуются ли в вашем проекте простые синхронные HTTP-вызовы, асинхронные рабочие процессы с высокой степенью параллелизма или полная эмуляция браузера.

Библиотека Парадигма Поддержка SOCKS5 Идеально подходит для
requests Синхронный Через запросы [socks] Скрипты, линейные скрейперы, API-клиенты
httpx Синхронный и асинхронный режим (HTTP/2) Native через socksio Высокопроизводительные скрейперы, бэкэнды FastAPI
aiohttp Асинхронный ввод-вывод Через aiohttp-socks Масштабные системы одновременного сбора данных из Интернета
Selenium WebDriver для браузера Флаги коренных народов Одностраничные приложения, Cloudflare Turnstile, процедуры входа в систему

запросы по настройке библиотеки

В библиотеке `requests` языка Python прокси настраиваются с помощью словаря, который сопоставляет схемы протоколов с URL-адресами конечных точек прокси. Чтобы избежать лишних затрат и повторного согласования TCP при каждом вызове, всегда используйте объект `requests.Session()`. Сессия повторно использует базовый пул соединений и сохраняет файлы cookie между вызовами.

Настройка requests.Session() с использованием мобильных прокси PXM2
import requests

# 1. Define proxy credentials and endpoint
PROXIES = {
    'http': 'http://user123:secret456@proxy.pxm2.io:8000',
    'https': 'http://user123:secret456@proxy.pxm2.io:8000',
}

# 2. Initialize Session and mount proxies
session = requests.Session()
session.proxies.update(PROXIES)

# 3. Add realistic mobile browser headers
session.headers.update({
    'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15',
    'Accept-Language': 'en-US,en;q=0.9',
})

# 4. Make requests through the dedicated mobile IP
response = session.get('https://ipinfo.io/json', timeout=15)
print(response.json())
Обратите внимание, что схема https сопоставляется с адресом http://proxy, что инициирует зашифрованный туннель CONNECT

To route requests through SOCKS5 with remote DNS resolution, install the SOCKS dependencies: pip install "requests[socks]". Then replace the proxy URLs with socks5h://user:pass@proxy.pxm2.io:1080.

Настройка httpx и aiohttp

При масштабировании скрейперов до сотен запросов в минуту синхронный код блокирует интерпретатор Python во время ожидания сетевых ответов. Библиотеки httpx и aiohttp позволяют выполнять параллельные запросы в рамках одного асинхронного цикла событий.

Использование httpx с асинхронными мобильными прокси-серверами

httpx обеспечивает современную поддержку асинхронных операций и удобную настройку прокси непосредственно в объекте AsyncClient:

Асинхронные запросы с помощью httpx
import asyncio
import httpx

async def fetch_ip():
    proxy_url = "http://user123:secret456@proxy.pxm2.io:8000"
    
    # Configure AsyncClient with custom timeouts and proxy
    limits = httpx.Limits(max_keepalive_connections=20, max_connections=50)
    async with httpx.AsyncClient(proxy=proxy_url, limits=limits, timeout=20.0) as client:
        response = await client.get("https://api.ipify.org?format=json")
        data = response.json()
        print(f"Carrier IP: {data['ip']}")

asyncio.run(fetch_ip())
httpx.AsyncClient обеспечивает управление ограничениями на количество соединений и асинхронное пулирование соединений

Настройка прокси-сервера Selenium

Для динамических сайтов, защищённых расширенными средствами управления ботами или сложным кодом JavaScript, Selenium запускает настоящий браузер Chrome или Chromium. Однако флаг командной строки Chrome --proxy-server не поддерживает встроенные учетные данные (например, user:pass@host). Если учетные данные передаются через этот флаг, Chrome запрашивает аутентификацию с помощью всплывающего окна графического интерфейса, что приводит к остановке скриптов, выполняющихся в режиме без интерфейса.

Существует два варианта реализации аутентификации с помощью Selenium: добавление вашего сервера в белый список IP-адресов в PXM2 или установка облегченного фонового расширения для Chrome.

Настройка Selenium ChromeOptions с использованием белого списка IP-адресов
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
# Point to your dedicated PXM2 mobile modem (secured by IP whitelist)
options.add_argument('--proxy-server=http://proxy.pxm2.io:8000')
options.add_argument('--headless=new')
options.add_argument('--disable-blink-features=AutomationControlled')

driver = webdriver.Chrome(options=options)
driver.get('https://ipinfo.io')
print(driver.title)
driver.quit()
Использование белого списка IP-адресов позволяет полностью избежать стандартного кода расширения Chrome для аутентификации

Рекомендации по использованию прокси-серверов в Python

Чтобы обеспечить стабильную работу при сборе данных или управлении учетными записями через мобильные сотовые соединения, придерживайтесь следующих важных технических рекомендаций:

  • 1. Реализовать экспоненциальный откат с повторными попытками в urllib3
    В сетях сотовой связи иногда происходит потеря пакетов во время переключения между базовыми станциями. Установка адаптера HTTPAdapter с настройкой повторных попыток для ошибок 429, 502, 503 и 504 позволяет избежать сбоев в работе скрейперов.
  • 2. Установить явные таймауты
    Никогда не отправляйте запросы без параметров в Python. В случае скачка задержки в работе базовой станции запрос без указания времени ожидания зависнет на неопределённое время. Всегда указывайте кортеж: timeout=(5.0, 25.0) для таймаутов подключения и чтения.
  • 3. Синхронизация смены IP-адресов
    При вызове вебхука ротации PXM2 из Python следует приостановить работу активных рабочих потоков на 5–8 секунд. Это даст модему время отсоединиться от базовой станции 4G/5G, переустановить IP-адрес оператора и восстановить передачу данных.
🇬🇧

Великобритания

2 оператора 20-60 Mbps
Начиная с
$3.64 за 1 час
4G
Доступные операторы:
O2 EE
🇪🇸

Испания

2 оператора 30-80 Mbps
Начиная с
$4.35 за 1 час
5G
Доступные операторы:
Orange Vodafone
🇮🇳

Индия

2 оператора 20-30 Mbps
Начиная с
$2.74 за 1 час
4G
Доступные операторы:
Airtel Vodafone Idea (Vi)
Смотреть все локации →

Часто задаваемые вопросы

Как настроить мобильный прокси в библиотеке Python requests?

Определите словарь прокси, сопоставляющий протоколы HTTP и HTTPS с URL-адресом вашего прокси-сервера, а затем передайте его в метод requests.get() или присоедините к экземпляру requests.Session(). Использование Session позволяет повторно использовать базовые TCP-соединения и сохранять файлы cookie между вызовами.

Поддерживает ли библиотека requests в Python мобильные прокси SOCKS5?

Да, если установить с поддержкой SOCKS с помощью команды `pip install requests[socks]`. После этого можно указать схему URL-адреса `socks5h://`, чтобы разрешение DNS-имен хостов происходило на прокси-модеме, а не на вашем локальном компьютере.

Как настроить аутентификацию через прокси в Selenium без всплывающих уведомлений?

Chrome изначально не поддерживает встроенные флаги для указания имени пользователя и пароля в параметре --proxy-server. Стандартное решение заключается в использовании фонового расширения Chrome, обрабатывающего событие chrome.webRequest.onAuthRequired, либо в использовании белого списка IP-адресов на модемах PXM2.

Как лучше всего организовать ротацию IP-адресов при скрапинге на Python?

Используйте адаптеры повторных попыток urllib3, подключенные к вашей сессии и настроенные на повторные попытки при получении кодов статуса HTTP 429 и 503. При ротации по требованию отправьте HTTP-запрос на конечную точку ротации PXM2, подождите от 5 до 10 секунд, а затем возобновите парсинг с использованием нового IP-адреса провайдера.

Как httpx сравнивается с requests в плане автоматизации работы с мобильными прокси?

httpx изначально предоставляет современный синтаксис async/await через httpx.AsyncClient, встроенную поддержку HTTP/2 и строгие таймауты соединений. Он идеально подходит для задач сбора данных с высокой пропускной способностью, в которых асинхронные циклы событий одновременно обрабатывают несколько целей.

Ознакомьтесь с дополнительными учебными материалами по другим языкам программирования, средам разработки и основным сетевым архитектурам.

Руководства для разработчиков и по автоматизации

Руководства по платформам и скрапингу

Повысьте эффективность ваших конвейеров Python с помощью выделенных мобильных IP-адресов

Подключайте Python requests, httpx и Selenium напрямую к реальному оборудованию операторов 4G/5G. Неограниченное количество повторений и отсутствие ограничений по пропускной способности.

Получить мобильный прокси