Когда нужны прокси для парсинга
Любой сайт, который отправляет капчу после N запросов с одного IP, или ограничивает количество запросов в минуту — повод использовать прокси. Это e-commerce (Amazon, Ozon, WB), площадки объявлений, поисковики, новостные сайты, API с rate-limit.
Как организовать пул прокси
- Загружайте список адресов в менеджер пула (requests-ip-rotator, scrapy-rotating-proxies, ScraperAPI)
- Для каждого запроса берите случайный прокси
- При ошибке 429/503 — помечайте прокси как «остывающий» на 1-3 минуты
- Ведите статистику успешности, чтобы «плохие» IP автоматически выпадали из пула
Интеграции
Python + Scrapy:
DOWNLOADER_MIDDLEWARES = {
'rotating_proxies.middlewares.RotatingProxyMiddleware': 610,
}
ROTATING_PROXY_LIST = open('proxies.txt').read().splitlines()
Python + Requests:
proxies = {
'http': 'socks5://user:pass@host:port',
'https': 'socks5://user:pass@host:port',
}
r = requests.get(url, proxies=proxies)
Puppeteer / Playwright: прокси указывается в launch-опциях через --proxy-server=socks5://host:port.
Советы
- Кэшируйте ответы локально, не ходите дважды
- Ставьте User-Agent под реальный браузер и ротируйте его
- Используйте headless-браузеры только там, где без JS не обойтись — обычный HTTP-запрос в 10 раз быстрее
- Соблюдайте robots.txt и правила сайта
