У класичному парсингу розробники витрачають години на написання менеджерів ротації: потрібно завантажити список із 1000 IP, перевірити їх на валідність, виключати забанені та стежити, щоб IP не повторювалися.
У CyberYozh App ми перевернули гру. Вам не потрібен список проксі. Вам потрібна одна адреса, яка сама змінює IP за вас. Вся магія налаштування відбувається не в коді, а в нашому Генераторі кредів (доступний для резидентських ротаційних проксі).
У цьому гайді ми розберемо, як налаштувати автоматичну ротацію та Sticky-сесії в Python за 3 хвилини, використовуючи наші Резидентські проксі.
🛠 Частина 1. Підготовка в CyberYozh App
Перш ніж відкривати PyCharm, зайдемо в особистий кабінет. Нам потрібно отримати правильні доступи. У розділі «Мої проксі» натисніть кнопку «Згенерувати облікові дані».

Рис. 1. Кнопка "Згенерувати облікові дані" (креди) в особистому кабінеті.
Тут ви керуєте логікою поведінки проксі. У нас є 3 режими, які змінюють те, як проксі поводитиметься в коді:
Випадковий IP (Random /
-res-any): Кожен новий запит = Новий IP. Ідеально для парсингу цін, збору даних.Коротка сесія (Targeting): IP тримається до 1 хвилини. Потрібен для точкової роботи в конкретному місті/штаті.
Довга сесія (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.

Рис. 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 хвилин). Вам потрібно лише обробляти помилки з'єднання в моменти зміни.
👉 Докладніше про мобільні проксі можна прочитати тут.
🛡 Частина 5. Часті помилки при інтеграції
Навіть з таким зручним інструментом бувають заминки. Ось топ-3 проблеми, з якими пишуть у нашу підтримку, і як їх вирішити в коді:
Помилка
ProxyErrorабо з'єднання розірвано:Причина: Ви переплутали порти.
Рішення: Перевірте, що в Python
requestsви використовуєте порт 5959 (HTTP). Порт 9595 призначений тільки для SOCKS-клієнтів (на кшталт Telegram або Proxifier), бібліотекаrequestsпрацює з SOCKS5 нестабільно без додаткових модулів.
IP змінюється занадто часто (в режимі Sticky):
Причина: Ви використовуєте логін
-res-anyзамість згенерованого токена.Рішення: Поверніться в Генератор, виберіть «Довга сесія» і скопіюйте повний рядок логіна з токеном
nnid.
Authentication Failed:
Причина: Зайвий пробіл.
Рішення: При копіюванні з кабінету часто захоплюється невидимий пробіл в кінці логіна або пароля. Функція
strip()в Python врятує ваші нерви:PROXY_USER = "pcJcWhGag4-res-any ".strip() # Прибере пробіли
Висновок
Використання Ротаційних резидентських та Мобільних приватних проксі від CyberYozh App позбавляє вас необхідності писати складні ротатори коду.
Потрібен парсинг? Берете префікс
anyі отримуєте мільйон IP.Потрібен акаунтинг? Берете префікс
fixі отримуєте стабільність.
👉 Спробуйте просто зараз: Зайдіть у розділ «Мої проксі», згенеруйте креди для Резидентських ротаційних проксі або використовуйте посилання для зміни IP на Мобільних приватних проксі та запустіть код вище.
