proxysale

Мова

Ротаційні проксі зі списком, що оновлюється сам цілий день

Наші проксі ротуються на рівні списку. Пул змінюється протягом доби, і щоразу, коли софт бере посилання, він отримує адреси, що працюють саме зараз.

Синій цінник на тлі пунктирної мапи світу зі з’єднаними вузлами мережі

Ротація на рівні списку

ProxySale ротує проксі через сам список. Пул увесь день втрачає мертві адреси й отримує нові, і щоразу, коли софт запитує посилання, він отримує набір, що працює в цю мить. Правил ротації на нашому боці ви не налаштовуєте: перезавантажуйте посилання раз на 8–10 хвилин, і список лишається актуальним.

Далі рядок для кожного запиту обирає ваш софт. Більшість парсерів і SEO-інструментів бере випадковий проксі на запит або змінює його після помилки, і навантаження розходиться на тисячі адрес.

Чому ротаційні проксі допомагають парсерам

Пошуковики, маркетплейси й агрегатори цін рахують запити з IP. Адреса, яка шле сотні запитів на хвилину, натрапляє на капчу чи блокування. Розподіліть те саме навантаження на список ротаційних проксі, і кожна адреса надсилатиме лише кілька, тож ціль бачить щось близьке до звичайних відвідувачів.

Ротація ще й ховає мертві рядки. Невдалий запит іде повторно через іншу адресу, а наступне перезавантаження списку викидає поганий рядок.

Налаштування ротації в софті

  • A-Parser і ZennoPoster: додайте посилання на список як джерело проксі з перезавантаженням раз на 10 хвилин.
  • Scrapy: завантажте список у downloader middleware, що бере випадковий рядок на кожен запит.
  • Python requests: тримайте список у пам’яті й передавайте випадковий рядок у словнику proxies.
  • curl у bash: перед кожним викликом беріть рядок через shuf -n 1.

Лишайте перезавантаження на 8–10 хвилинах. Запити щохвилини ми сповільнюємо, та й пул так швидко не змінюється.

Стратегії ротації

  • Випадковий рядок на кожен запит: найпростіша схема з найрівнішим навантаженням.
  • Один рядок на коротку серію: корисно, коли сайт чекає кілька пов’язаних запитів, наприклад сторінку пошуку й наступну сторінку видачі.
  • Зміна після помилки: тримати рядок, поки він відповідає, і відкидати після капчі, таймауту чи 403.
  • Охолодження: після блокування прибирати адресу з ротації на 10–15 хвилин.

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

Скільки адрес вам потрібно

Порахуйте запити на хвилину до найскладнішої цілі й поділіть на те, скільки одна адреса може надіслати без проблем. Якщо сайт витримує п’ять запитів на хвилину з одного IP, а вам потрібно 5 000, плануйте щонайменше 1 000 живих адрес плюс запас на нічний спад. Більші задачі розібрані на сторінці проксі оптом.

Обирайте пул за ціллю: Мікс світу для глобальних сайтів, проксі Європи для магазинів і пошуку в ЄС, проксі СНД для Яндекса й регіональних маркетплейсів, проксі Китаю для Baidu.

Задачі, яким потрібна стала адреса

Деяка робота потребує однієї адреси надовго: вхід в акаунти, збережений кошик, профілі антидетект-браузерів. Ротаційний список пакета тут не годиться: адреса здатна вийти з пулу. Для такої роботи беріть резидентні проксі з пулу Макс: кожен рядок має свою сесію, строк якої від трьох хвилин до доби, поки домашній пристрій онлайн. Як налаштувати профілі, показано на сторінці проксі для антидетекту.

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

Файл зі списком, що оновлюється раз на 10 хвилин

Деякі інструменти читають проксі лише з файлу. Тримайте такий файл свіжим за допомогою невеликого скрипта, який завантажує список раз на 10 хвилин. Кожен скрипт нижче спершу пише в тимчасовий файл і замінює основний лише після повного завантаження, тож софт ніколи не прочитає недописаний чи порожній список. Замість YOUR_LIST_LINK вставте посилання на список із панелі.

Linux: shell-скрипт і cron

Збережіть скрипт як /opt/proxies/update-proxies.sh, зробіть його виконуваним командою chmod +x /opt/proxies/update-proxies.sh і запустіть один раз вручну. Він виведе, скільки проксі зберіг, або помилку, якщо посилання не відповідає.

update-proxies.sh
#!/bin/sh
LIST_URL="YOUR_LIST_LINK"
DEST="/opt/proxies/proxies.txt"
TMP="$DEST.tmp"

mkdir -p "$(dirname "$DEST")"
if curl -fsS --max-time 60 -o "$TMP" "$LIST_URL" && [ -s "$TMP" ]; then
  mv "$TMP" "$DEST"
  echo "$(date '+%F %T') saved $(wc -l < "$DEST") proxies"
else
  rm -f "$TMP"
  echo "$(date '+%F %T') download failed, kept the old list" >&2
  exit 1
fi

Відкрийте розклад командою crontab -e і додайте рядок нижче. Cron запускатиме скрипт раз на 10 хвилин і дописуватиме його повідомлення в лог. Запускайте від root або змініть обидва шляхи на теку у вашому домашньому каталозі.

crontab
*/10 * * * * /opt/proxies/update-proxies.sh >> /var/log/update-proxies.log 2>&1

Windows: PowerShell і Планувальник завдань

Збережіть скрипт як C:\proxies\update-proxies.ps1 і запустіть один раз у PowerShell, щоб перевірити посилання.

update-proxies.ps1
$ListUrl = "YOUR_LIST_LINK"
$Dest = "C:\proxies\proxies.txt"
$Tmp = "$Dest.tmp"

New-Item -ItemType Directory -Force -Path (Split-Path $Dest) | Out-Null
try {
    Invoke-WebRequest -Uri $ListUrl -OutFile $Tmp -UseBasicParsing -TimeoutSec 60
    if ((Get-Item $Tmp).Length -eq 0) { throw "empty list" }
    Move-Item -Force $Tmp $Dest
    $count = (Get-Content $Dest | Measure-Object -Line).Lines
    Write-Output "$(Get-Date -Format s) saved $count proxies"
} catch {
    Remove-Item $Tmp -ErrorAction SilentlyContinue
    Write-Output "$(Get-Date -Format s) download failed, kept the old list: $($_.Exception.Message)"
    exit 1
}

Зареєструйте завдання, яке запускатиме скрипт раз на 10 хвилин: вставте команду в командний рядок або PowerShell. Завдання переживає перезавантаження й видно в Планувальнику завдань як UpdateProxies. Воно працює, поки ви в системі; щоб працювало без сеансу, відкрийте командний рядок від імені адміністратора й додайте до команди /RU SYSTEM.

cmd
schtasks /Create /TN "UpdateProxies" /SC MINUTE /MO 10 /F /TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\proxies\update-proxies.ps1"

Зручніше мишею? Відкрийте Планувальник завдань, оберіть «Створити просте завдання», виберіть щоденний тригер, потім відкрийте властивості завдання й увімкніть повтор кожні 10 хвилин протягом «Безстроково». Дія запускає powershell.exe з аргументами -NoProfile -ExecutionPolicy Bypass -File C:\proxies\update-proxies.ps1.

Будь-яка система: Python

Версія на Python працює в циклі й планувальника не потребує. Запустіть її в терміналі, у screen чи tmux або як службу. Потрібен Python 3 і жодних додаткових пакетів.

update_proxies.py
import time
import urllib.request
from pathlib import Path

LIST_URL = "YOUR_LIST_LINK"
DEST = Path("proxies.txt")
EVERY = 600

while True:
    try:
        data = urllib.request.urlopen(LIST_URL, timeout=60).read()
        if not data.strip():
            raise ValueError("empty list")
        tmp = DEST.with_name(DEST.name + ".tmp")
        tmp.write_bytes(data)
        tmp.replace(DEST)
        print(time.strftime("%Y-%m-%dT%H:%M:%S"), "saved", len(data.split()), "proxies", flush=True)
    except Exception as error:
        print(time.strftime("%Y-%m-%dT%H:%M:%S"), "download failed, kept the old list:", error, flush=True)
    time.sleep(EVERY)

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

Протоколи, ціни й тест

Кожен ротаційний рядок пакета працює за HTTP, HTTPS, SOCKS4 і SOCKS5 через той самий порт, див. SOCKS5-проксі і HTTP-проксі. Обсяги й терміни — у прайсі, а безкоштовну годину будь-якого пакета дає підтримка на сторінці контактів.

Відповідні тарифи

Безлімітні пакети · оплата за час

IPПотоки1 година1 доба7 днів30 днівДобова ціна 1 000 IPКупити
30 000Мікс світуПопулярний2 500$4,20$51,00$275$990$1,70Купити
3 000ЄвропаПопулярний1 000$1,70$15,50$77,00$277$5,17Купити
1 000СНД500$1,00$10,00$52,00$187$10,00Купити
200Китай300$0,50$7,00$37,00$135$35,00Купити

Тарифи за ГБ · оплата за трафік

Тариф · ціна за ГБ1–9 ГБ10–49 ГБ50–99 ГБ100–499 ГБ500–999 ГБ1 000–2 000 ГБКупити
Гібрид ISPадреси провайдерів$1,49/ ГБ$1,39/ ГБ$1,29/ ГБ$1,15/ ГБ$1,05/ ГБ$0,95/ ГБКупити
Сота МобільніПопулярниймережі 4G і 5G$3,49/ ГБ$3,19/ ГБ$2,95/ ГБ$2,69/ ГБ$2,39/ ГБ$2,15/ ГБКупити
Старт РезидентніПопулярнийдомашні IP · країна$0,85/ ГБ$0,79/ ГБ$0,72/ ГБ$0,65/ ГБ$0,57/ ГБ$0,49/ ГБКупити

Усі тарифи за ГБ

Питання

Як часто змінюються адреси?

Пул оновлюється весь день. Беріть список раз на 8–10 хвилин, щоб він був актуальним.

Чи можна тримати один IP на сесію?

На пакеті — так, поки адреса лишається в пулі: який рядок брати, вирішує ваш софт. Для IP із заданим часом життя беріть резидентний Макс: строк фіксованого рядка ви ставите самі, від трьох хвилин до доби, а домашній пристрій може піти з мережі й раніше.

Чому не перезавантажувати список щохвилини?

Запити частіше ніж раз на кілька хвилин схожі на флуд і сповільнюються.

Як налаштувати автооновлення списку?

Нехай софт завантажує список за посиланням кожні 8–10 хвилин. Якщо він так не вміє, оновлюйте файл скриптом за розкладом: у статті вище є готові версії для cron, Планувальника завдань Windows і Python.

Чим ротація в пакеті відрізняється від ротації на тарифах за ГБ?

У пакеті змінюється сам список: адреси приходять і йдуть, а рядок обирає ваш софт. На тарифах за ГБ ротацію робить шлюз: ротаційний рядок отримує новий IP на кожен запит, а фіксований тримає адресу за ID сесії.

Чому деякі адреси зі списку не відповідають?

Список змінюється протягом доби, і адреса могла вийти з пулу після вашого останнього завантаження. Свіже завантаження кожні 8–10 хвилин тримає частку мертвих рядків низькою.

Почніть із години або гігабайта

Перевірте пакет безкоштовною годиною після верифікації або купіть 1 ГБ будь-якого тарифу за ГБ, запустіть на ньому свій софт і залиште формат, що підходить під задачу.

Відкрити панель