Проксі для парсингу

Коли скрипт робить тисячі запитів з однієї адреси, сайт швидко її блокує. Ротація IP розподіляє запити між багатьма адресами — для парсингу, скрапінгу (web scraping) і будь-якого збору даних.

Ротація на кожен запит

Оберіть «Новий IP на кожен запит»: одна адреса підключення (порт 823 для HTTP, 824 для SOCKS5) видає новий IP при кожному з'єднанні. У скрипті нічого перемикати не треба.

Серверні чи резидентські

Почніть із серверних: вони найшвидші й найдешевші. Якщо сайт відповідає капчами або помилками 403, переходьте на резидентські — вони виглядають як звичайні відвідувачі.

Економія трафіку

Трафік рахується за обсягом, а не за кількістю запитів. Вимикайте завантаження картинок, шрифтів і скриптів, якщо вони не потрібні, і використовуйте API сайту, якщо він є.

Контроль помилок

В особистому кабінеті видно журнал запитів і помилок по сайтах. Якщо певний сайт постійно відповідає помилкою, додайте його в список заблокованих, щоб не витрачати трафік.

Як сайти розпізнають парсер

Захист сайту рідко дивиться лише на одну ознаку. Найчастіше він рахує кількість запитів з одного IP за хвилину, перевіряє, чи належить адреса дата-центру або вже позначена як проксі, і порівнює заголовки запиту зі звичайним браузером. Скрипт, який шле запити без пауз, з однаковим User-Agent і без cookies, помітний навіть із чистої адреси.

Тому проксі вирішують лише частину завдання: розподіляють навантаження й дають адресу потрібної країни. Решту — темп, заголовки, повторні спроби — ви налаштовуєте у скрипті. Гарантувати, що конкретний сайт ніколи не покаже капчу, не може жоден проксі-сервіс, і ми теж.

Налаштування за п'ять кроків

  1. Створіть план потрібного типу: серверні (їх ще називають датацентровими) для відкритих сайтів, резидентські, або резидентські, для тих, що ріжуть адреси дата-центрів.
  2. Оберіть країну в генераторі кабінету. Країна входить у ціну, а точне гео (місто, регіон, ZIP, провайдер) рахується ×2 — вмикайте його тільки там, де відповідь сайту справді залежить від міста.
  3. Виберіть режим IP. Порт 823 (HTTP) або 824 (SOCKS5) — нова адреса на кожен запит. Порти 10000–20000 — фіксований IP (sticky-сесія) на кожному порту, тривалість сесії від 1 до 120 хвилин (за замовчуванням 30).
  4. Завантажте список рядків у потрібному форматі (.txt), наприклад логін:пароль@gw.prokso.com:823 або хост:порт:логін:пароль. Якщо скрипт працює на сервері з постійною адресою, можна дозволити доступ за IP (білий список, до 5 адрес на план) без логіна.
  5. Підключіть у коді за нашими інструкціями: Python requests, Scrapy, Playwright. Для збору даних без коду є інструкція для Octoparse. Перед запуском перевірте рядок у перевірці проксі.

Ротація чи фіксований IP

Каталоги, картки товарів, відкриті сторінки без входу — це ротація на кожен запит. Кожна сторінка йде з іншої адреси, і жоден IP не набирає підозрілої кількості звернень. Детальніше про режими — на сторінці ротаційних проксі.

Фіксований IP потрібен, коли сайт пов'язує дії в одну сесію: вхід в акаунт, кошик, пагінація з токеном, фільтри, що зберігаються в cookies. Візьміть окремий порт з діапазону 10000–20000 на кожен потік і задайте тривалість сесії з запасом на весь обхід. Резидентська адреса може змінитися раніше, якщо пристрій вийшов з мережі: порт отримає новий IP тієї ж країни, тож скрипт має вміти заново авторизуватися.

Є й третій варіант без окремих портів. У розширеному режимі можна дописати номер сесії в логін: тоді на портах 823 і 824 запити з однаковим номером ідуть з одного IP приблизно 30 хвилин. Це зручно, коли скрипт тримає десятки паралельних сесій і кожній потрібна своя стабільна адреса, а список портів вести не хочеться.

Темп, помилки 403 і 429

Ротація не скасовує розумного темпу. Кілька правил, які заощаджують і трафік, і час:

  • 429 Too Many Requests — сайт просить сповільнитися. Робіть паузу, що зростає з кожною спробою (наприклад, 2, 4, 8 секунд), і зменшуйте кількість потоків на цей домен.
  • 403 або капча — адреса чи сам запит виглядають підозріло. Повторіть запит через новий IP один-два рази. Якщо помилка стабільна, перевірте заголовки й cookies або переведіть цей сайт на резидентські.
  • Обмежуйте повтори. Нескінченні спроби завантажити сторінку, яка ніколи не відповість, з'їдають трафік. Після 2–3 невдач відкладайте URL в окрему чергу й розбирайте пізніше.
  • Розподіляйте потоки по доменах. План тримає до 1000 одночасних з'єднань, але десятки потоків на один невеликий сайт — погана ідея і для вас, і для сайту.
  • Фільтр анонімності в налаштуваннях пулу відсікає IP, які сайти вже позначили як проксі чи VPN. Він корисний для чутливих сайтів, де частка 403 помітно висока.

Деякі сайти закриті для всіх клієнтів — державні ресурси, банки, платіжні системи. Їхній перелік є на сторінці заборонених сайтів.

Скільки трафіку займе парсинг

Трафік рахується в обидва боки, але основну частину становить відповідь сайту. Тому вирішальне питання — що саме ви завантажуєте: лише HTML чи повну сторінку з картинками й скриптами через браузер.

ЗавданняТип проксіРежим IPТрафік (орієнтовно)
10 000 сторінок каталогу, лише HTMLСерверніНовий IP на кожен запит0,5–2 ГБ
100 000 запитів до JSON-API сайтуСерверніНовий IP на кожен запит0,5–3 ГБ
10 000 сторінок через Playwright з картинкамиРезидентськіНовий IP на кожен запит10–30 ГБ
Те саме, але картинки й шрифти заблокованіРезидентськіНовий IP на кожен запит3–8 ГБ
Збір даних з кабінету після входуРезидентськіФіксований IP, 30–60 хвзалежить від кількості сторінок

Цифри приблизні: вага сторінок дуже відрізняється від сайту до сайту. Найточніше — запустити невелику партію на 100–200 сторінок і подивитися витрату в кабінеті. Щоб не вийти за бюджет, поставте на план ліміт трафіку (за годину, добу чи тиждень) із зупинкою або попередженням. Серверні коштують $0.80 за ГБ, резидентські — $1.59. Ціна однакова для будь-якого обсягу, деталі — на сторінці тарифів.

Які країни обирати

Для глобальних сайтів країна здебільшого не важлива, і можна брати будь-яку з 195. Але багато магазинів і сервісів показують різні ціни, мову й асортимент залежно від країни відвідувача. Тоді беріть IP тієї країни, дані якої вам потрібні: США для американських майданчиків, Німеччину й Нідерланди для європейських, Велику Британію для британських, Польщу та Україну для локальних. Мобільні проксі для парсингу потрібні рідко — хіба що сайт показує інший контент користувачам мобільних мереж.

І чесно про пул: він спільний, адресою раніше міг користуватися інший клієнт. Тому частина IP на суворих сайтах може одразу отримувати капчу. Це нормально: повтор через нову адресу зазвичай вирішує питання. UDP не підтримується, але для HTTP-парсингу він і не потрібен.

Питання й відповіді

Скільки паралельних потоків можна запускати?

До 1000 одночасних з'єднань на план. Для більшого навантаження створіть ще один план — трафік між планами одного типу можна переносити.

Як рахується трафік при парсингу?

Сумарний обсяг вхідних і вихідних даних. Запити без відповіді трафік майже не витрачають.

Чи можна парсити через SOCKS5, а не HTTP?

Так. Порт 824 дає SOCKS5 з новим IP на кожен запит, а порти 10000–20000 працюють і як HTTP, і як SOCKS5. Приклади підключення — в інструкціях для Scrapy і Python requests.

Що робити, якщо сайт віддає 403 навіть через резидентські IP?

Сповільніть темп, перевірте заголовки й cookies і ввімкніть фільтр анонімності в налаштуваннях пулу. Якщо сайт є в переліку заборонених, він закритий для всіх клієнтів.

Чи можна закріпити один IP на всю сесію парсингу?

Так, на портах 10000–20000 адреса утримується від 1 до 120 хвилин. Резидентський IP може змінитися раніше, якщо пристрій вийшов з мережі, — тоді порт отримає нову адресу тієї ж країни.

$0.80 за 1 ГБ — почніть зараз

Реєстрація за хвилину, доступи одразу після оплати.

Створити акаунт