БОЛЬШОЙ КУШ

БОЛЬШОЙ КУШ ОТ CYBERYOZH APP.

Выиграй Apple MacBook, 2000$, iPad и море других призов!

Участвовать










Настройка ротацию прокси в Python с помощью библиотеки requests (для парсинга).

В классическом парсинге разработчики тратят часы на написание менеджеров ротации: нужно загрузить список из 1000 IP, проверить их на валидность, исключать забаненные и следить, чтобы IP не повторялись.

В CyberYozh App мы перевернули игру. Вам не нужен список прокси. Вам нужен один адрес, который сам меняет IP за вас. Вся магия настройки происходит не в коде, а в нашем Генераторе кредов (доступен для резидентских ротационных прокси).

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


🛠 Часть 1. Подготовка в CyberYozh App

Прежде чем открывать PyCharm, зайдем в личный кабинет. Нам нужно получить правильные доступы. В разделе «Мои прокси» нажмите кнопку «Сгенерировать учетные данные».

Кнопка "Сгенерировать учетные данные" в личном кабинете.

Рис. 1. Кнопка "Сгенерировать учетные данные" (креды) в личном кабинете.

Здесь вы управляете логикой поведения прокси. У нас есть 3 режима, которые меняют то, как прокси будет вести себя в коде:

  1. Случайный IP (Random / -res-any): Каждый новый запрос = Новый IP. Идеально для парсинга цен, сбора данных.

  2. Короткая сессия (Targeting): IP держится до 1 минуты. Нужен для точечной работы в конкретном городе/штате.

  3. Длинная сессия (Long / -resfix): IP закрепляется за вами на срок до 6 часов (Sticky Session). Идеально для авторизации на сайтах, чтобы вас не разлогинило.

Пункт выбора типа сессии в генераторе: случайная, короткая и длинная

Рис. 2. Пункт выбора типа сессии в генераторе: случайная, короткая и длинная.

Кнопка генерации данных для подключения.

Рис. 3. Кнопка генерации данных для подключения.

⚠️ Важный нюанс по портам: В отличие от других сервисов, мы разделили порты для стабильности:

  • Для requests (HTTP/HTTPS) используйте порт 5959.

  • Для SOCKS5 клиентов используйте порт 9595.

👉 Подробнее о ротации для резидентских прокси можно прочитать здесь.


💻 Часть 2. Сценарий «Парсинг»: Авто-ротация (Random IP)

Задача: Сделать 10 запросов к сайту, и чтобы каждый раз сайт видел нас как нового пользователя. Раньше вам нужен был бы список из 10 прокси. С CyberYozh App вам нужна одна строка с префиксом -res-any.

import requests

# Данные из Генератора (Режим Random IP)
# Обратите внимание на порт 5959 для HTTP!
PROXY_HOST = "51.77.190.247"
PROXY_PORT = "5959"
PROXY_USER = "pcJcWhGag4-res-any" # Префикс -res-any включает ротацию
PROXY_PASS = "ваш_пароль"

proxy_url = f"http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"

proxies = {
    "http": proxy_url,
    "https": proxy_url
}

url = "https://httpbin.org/ip" # Сайт, который покажет наш IP

print("--- Запускаем парсинг с ротацией ---")

for i in range(5):
    try:
        # Каждый раз, дергая одну и ту же ссылку, CyberYozh выдаст новый IP
        response = requests.get(url, proxies=proxies, timeout=10)
        current_ip = response.json()['origin']
        print(f"Запрос {i+1}: Ваш внешний IP -> {current_ip}")
    except Exception as e:
        print(f"Ошибка: {e}")


🚀 Часть 3. Сценарий «Аккаунты»: Sticky-сессии (Long Session)

Задача: Залогиниться на сайте и ходить по внутренним страницам 30 минут, не меняя IP, чтобы не получить бан за подозрительную активность.

В генераторе CyberYozh App выберите «Длинная сессия». Система выдаст вам логин с уникальным токеном (например, ...-resfix-us-nnid-9d016...). Пока вы используете этот логин — IP будет неизменным (до 6 часов).

import requests

# Данные из Генератора (Режим Long Session)
# Логин стал длинным — в нем зашит ID сессии
PROXY_USER = "pcJcWhGag4-resfix-us-nnid-9d016abcd" 
PROXY_PASS = "ваш_пароль"
PROXY_HOST = "51.77.190.247"
PROXY_PORT = "5959"

proxy_url = f"http://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}"

# Используем requests.Session для сохранения кук и заголовков
session = requests.Session()
session.proxies = {
    "http": proxy_url,
    "https": proxy_url
}
# Мимикрируем под браузер
session.headers.update({
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)..."
})

print("--- Работаем в одной сессии ---")

# Шаг 1. Заходим на главную (получаем IP)
r1 = session.get("https://httpbin.org/ip")
ip1 = r1.json()['origin']
print(f"Шаг 1: Наш IP {ip1}")

# Шаг 2. Делаем что-то полезное (IP должен остаться тем же)
r2 = session.get("https://httpbin.org/ip")
ip2 = r2.json()['origin']
print(f"Шаг 2: Наш IP {ip2}")

if ip1 == ip2:
    print("Успех! Сессия удерживается, можно безопасно работать с аккаунтом.")
else:
    print("Внимание! IP сменился (проверьте настройки генератора).")


📱 Часть 4. Мобильные прокси (Private 4G/LTE): Управляем модемом через код

С Резидентскими ротационными прокси всё просто: вы дергаете одну ссылку, а наша система сама подсовывает вам новый IP из пула. С Мобильными приватными прокси (Private) механика другая. У вас есть реальный USB-модем. Чтобы сменить IP, этот модем нужно физически перезагрузить (переподключить к вышке сотовой связи).

В CyberYozh App для приватных портов (каналов) мы даем специальную API-ссылку. Если по ней перейти — модем уйдет в перезагрузку.

Главный нюанс: Смена IP на мобильных прокси занимает время (10-20 секунд). Если ваш скрипт не умеет ждать, он упадет с ошибкой ConnectionError.

Ссылка на смену IP-адреса в карточке выделенного (Private) мобильного прокси.

Рис. 4. Ссылка на смену IP-адреса в карточке выделенного (Private) мобильного прокси.

Реализация функции Reboot (Смена IP)

Напишем функцию, которая дергает API-ссылку и ставит скрипт на паузу, пока модем ищет новую вышку.

import requests
import time

# --- НАСТРОЙКИ ИЗ КАБИНЕТА CYBERYOZH APP ---
MOBILE_PROXY = "http://LOGIN:PASS@IP:PORT" # Ваши данные доступа
ROTATION_LINK = "https://app.cyberyozh.com/api/v1/..." # Ссылка из поля «Ссылка для смены IP-адреса»

def change_mobile_ip(api_link):
    """
    Функция для перезагрузки мобильного модема.
    """
    print(f"♻️ Запускаем смену IP...")
    try:
        # 1. Отправляем сигнал на перезагрузку
        r = requests.get(api_link)
        
        if r.status_code == 200:
            print("✅ Команда принята модемом.")
        else:
            print(f"⚠️ Ошибка API: {r.status_code}")
            return False

        # 2. КРИТИЧЕСКИЙ МОМЕНТ: Ждем перезагрузку
        # Модему нужно время, чтобы разорвать связь и найти новую вышку.
        # Обычно это 10-20 секунд.
        wait_time = 15
        print(f"⏳ Ждем {wait_time} сек, пока модем переподключится...")
        time.sleep(wait_time)
        return True
        
    except Exception as e:
        print(f"Ошибка при запросе к API: {e}")
        return False

# --- ПРИМЕР ИСПОЛЬЗОВАНИЯ ---

proxies = {"http": MOBILE_PROXY, "https": MOBILE_PROXY}

# Шаг 1. Работаем с текущим IP
try:
    ip_old = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10).json()['origin']
    print(f"Старый IP: {ip_old}")
except:
    print("Прокси пока недоступен или ошибка сети.")

# Шаг 2. Меняем IP (если словили бан или закончили цикл)
change_mobile_ip(ROTATION_LINK)

# Шаг 3. Проверяем новый IP
try:
    # Важно: тут может вылететь ошибка, если 15 секунд не хватило.
    # В идеале стоит добавить цикл retries (как в Части 3).
    ip_new = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10).json()['origin']
    print(f"Новый IP: {ip_new}")
except Exception as e:
    print("Модем еще не поднялся, попробуйте увеличить time.sleep()")

💡 Лайфхак: Passive OS Fingerprint (Подмена отпечатка)

Владельцам Private тарифов в CyberYozh App доступна крутая фишка — Passive OS Fingerprint. Если вы парсите мобильную версию сайта (например, Instagram или TikTok), сайт проверяет TCP/IP заголовки. Будет странно, если ваш User-Agent говорит "Я iPhone", а сетевые пакеты говорят "Я Windows Server".

Чтобы повысить траст, синхронизируйте заголовки в Python:

headers = {
    # Этот User-Agent должен совпадать с настройкой Fingerprint в личном кабинете CyberYozh!
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)..."
}

# Если в кабинете включен профиль "iOS", а вы шлете этот заголовок —
# для сайта вы будете выглядеть как 100% реальный пользователь iPhone с LTE интернетом.

⚠️ Важное предупреждение для Shared прокси

Если вы купили тариф МобильныеShared (Общие) прокси, код выше с API-ссылкой работать не будет.

  • Почему: На общем модеме сидят другие люди. Если вы его перезагрузите, у них пропадет интернет.

  • Как работать: Просто делайте запросы в цикле while True. Система сама сменит IP по таймеру (раз в 5-10 минут). Вам нужно только обрабатывать ошибки соединения в моменты смены.

👉 Подробнее о мобильных прокси можно прочитать здесь.


🛡 Часть 4. Частые ошибки при интеграции

Даже с таким удобным инструментом бывают заминки. Вот топ-3 проблемы, с которыми пишут в нашу поддержку, и как их решить в коде:

  1. Ошибка ProxyError или соединение сброшено:

    • Причина: Вы перепутали порты.

    • Решение: Проверьте, что в Python requests вы используете порт 5959 (HTTP). Порт 9595 предназначен только для SOCKS-клиентов (вроде Telegram или Proxifier), библиотека requests работает с SOCKS5 нестабильно без дополнительных модулей.

  2. IP меняется слишком часто (в Sticky режиме):

    • Причина: Вы используете логин -res-any вместо сгенерированного токена.

    • Решение: Вернитесь в Генератор, выберите «Длинная сессия» и скопируйте полную строку логина с токеном nnid.

  3. Authentication Failed:

    • Причина: Лишний пробел.

    • Решение: При копировании из кабинета часто захватывается невидимый пробел в конце логина или пароля. Функция strip() в Python спасет ваши нервы:

       
      PROXY_USER = "pcJcWhGag4-res-any ".strip() # Уберет пробелы
      

       


Заключение

Использование Ротационных резидентских и Мобильных приватных прокси от CyberYozh App избавляет вас от необходимости писать сложные ротаторы кода.

  • Нужен парсинг? Берете префикс any и получаете миллион IP.

  • Нужен аккаунтинг? Берете префикс fix и получаете стабильность.

👉 Попробуйте прямо сейчас: Зайдите в раздел «Мои прокси», сгенерируйте креды для Резидентских ротационных прокси или используйте ссылку для смены IP на Мобильных приватных прокси и запустите код выше.