Прокси для парсинга: сколько нужно и какие выбрать
Короткий ответ: прокси для парсинга нужны, чтобы распределить запросы между несколькими IP и не упираться в лимиты и капчи, которые сайт включает при большом потоке с одного адреса. Сколько адресов брать, считается просто: нужный объём запросов делим на безопасный темп одного IP и добавляем запас. Если сайт поддерживает IPv6 — берите IPv6, это дешевле всего; если нет — личные IPv4; для сайтов, строгих к дата-центрам, — резидентские.
Зачем парсеру прокси
Сайты защищаются от слишком частых запросов. Обычно это выглядит так:
- сервер отвечает ошибкой 429 Too Many Requests или 403;
- вместо страницы появляется капча;
- адрес временно или надолго попадает в блок;
- сайт начинает отдавать урезанные или пустые страницы.
Пороги у каждого сайта свои и обычно не публикуются. Но логика одна: IP, который делает запросы намного чаще живого человека, выглядит как нагрузка, а не как посетитель.
Прокси решают задачу распределения: тот же объём запросов идёт с нескольких адресов, и с каждого нагрузка остаётся умеренной. При этом прокси — не способ давить на сайт сильнее. Если суммарная нагрузка мешает сайту работать, это проблема независимо от числа IP.
Сколько прокси нужно: метод расчёта
Универсальной нормы «столько-то прокси на столько-то страниц» не существует: всё зависит от сайта. Но посчитать под свою задачу несложно.
Шаг 1. Оцените объём
Сколько запросов нужно сделать и за какое время. Например, обновлять 20 000 карточек товаров раз в сутки. Учитывайте не только сами страницы, но и пагинацию, поиск и повторы при ошибках.
Если собрать всё нужно за короткое окно — скажем, за два часа ночью, — считайте объём в час именно для этого окна. Адресов тогда понадобится больше.
Шаг 2. Найдите безопасный темп одного IP
Это то, сколько запросов сайт спокойно принимает с одного адреса без капч и ошибок. Узнать его можно только на практике:
- Возьмите один прокси и начните с бережного темпа — например, один запрос в несколько секунд.
- Ускоряйтесь понемногу и следите за ответами: коды 429 и 403, капчи, подозрительно короткие страницы.
- Как только появились признаки ограничений, вернитесь к темпу заметно ниже. Это и есть рабочий темп.
Если сайт сам указывает допустимую частоту — например, Crawl-delay в robots.txt или лимиты в документации API, — это ограничение для вашего парсера в целом, а не для каждого IP. Прокси не повод его превышать.
Шаг 3. Посчитайте
Число IP = запросов в час ÷ безопасный темп одного IP в час, с округлением вверх и запасом.
Пример с условными цифрами. 20 000 карточек в сутки — это около 834 запросов в час. Допустим, тест показал, что один адрес спокойно делает один запрос в 10 секунд, то есть 360 в час. Тогда 834 ÷ 360 ≈ 2,3 — нужно 3 адреса. Плюс запас на случай, если часть адресов начнёт получать капчи. Насколько большой — решайте по результатам первых запусков.
Цифры в примере условные: на другом сайте безопасный темп может оказаться в разы выше или ниже.
Шаг 4. Сверьте с потоками
При многопоточности следите, чтобы на один IP не приходилось больше запросов, чем вы намерили. Десять потоков через один прокси — это десятикратный темп для этого адреса.
Ротация: когда менять IP
Ротация — это смена IP между запросами или через интервал. Подробно о ней — в статье ротация IP.
- Ротация по списку — для массового сбора без входа в аккаунт: каталоги, карточки, поисковая выдача. Парсер берёт адреса из списка по кругу.
- Постоянный IP на сессию — когда сайт держит сессию: фильтры, корзина, пагинация через cookies, авторизация. Смена адреса посреди сессии ломает её или вызывает проверку.
- Пауза для адреса при ошибке — если адрес получил капчу или 429, выведите его из работы на время, а не повторяйте запросы с него.
Ротацию можно делать двумя способами. Первый — в самом парсере: вы берёте пачку статичных адресов и перебираете их по кругу. Второй — на стороне прокси: у резидентских и мобильных адрес обычно меняется автоматически или по ссылке.
IPv6, IPv4 или резидентские
IPv6 — самый дешёвый вариант для массового сбора
Адресов IPv6 огромное количество, поэтому их можно брать десятками и сотнями дешевле, чем IPv4. Главное ограничение: они работают только с сайтами, которые поддерживают IPv6. Проверить это просто — посмотреть, есть ли у домена AAAA-запись:
nslookup -type=AAAA example.com
Если в ответе есть IPv6-адрес, сайт его поддерживает. Ещё надёжнее — взять несколько адресов и сделать тестовый прогон до покупки большой партии.
Учтите, что некоторые сайты ограничивают IPv6 не по отдельному адресу, а по целой подсети. Тогда много адресов из одной подсети выглядят для них как один источник. Тестовый прогон это покажет. Подробнее о различиях версий — в статье IPv4 или IPv6.
Личные IPv4 — универсальный вариант
Работают с любым сайтом, стабильны и доступны в 100+ странах — это удобно, если нужны данные, которые сайт показывает посетителям из конкретной страны. Дороже IPv6, поэтому их берут, когда IPv6 не поддерживается или нужна определённая страна.
Общие IPv4 для регулярного парсинга брать не стоит: адрес делят несколько человек, и если сосед уже упёрся в лимит сайта, ограничение достанется и вам.
Резидентские — для строгих сайтов
IP домашнего интернета реальных пользователей. Нужны, когда сайт заметно строже относится к адресам дата-центров и даже медленный сбор с IPv4 упирается в капчи. Адрес обычно меняется автоматически, так что ротация встроена. Стоят дороже серверных, поэтому начинайте с IPv6 или IPv4 и переходите на резидентские, только если тест показал, что серверные адреса не справляются. Подробнее — в статье резидентские прокси.
Мобильные для парсинга, как правило, избыточны: они дороже и медленнее.
Протокол
Большинство библиотек и готовых парсеров понимают и HTTP, и SOCKS5. Proxy365 поддерживает оба, доступ — по логину и паролю. В коде это обычно строка вида http://логин:пароль@ip:port.
Этика и закон: как парсить правильно
Прокси расширяют возможности парсера, поэтому и ответственность выше.
- Соблюдайте robots.txt. В нём владелец сайта указывает, какие разделы роботам сканировать не стоит. Закрытые разделы не собирайте.
- Не перегружайте сайт. Делайте паузы, по возможности собирайте в часы низкой нагрузки, кэшируйте уже скачанное и не запрашивайте одно и то же повторно. Суммарная нагрузка от всех ваших IP должна оставаться для сайта незаметной.
- Капча — сигнал, а не препятствие. Если сайт начал показывать капчи, сбавьте темп, а не решайте их потоком.
- Собирайте только общедоступное. То, что видно любому посетителю без входа. Не используйте чужие аккаунты и не пытайтесь достать данные из закрытых разделов.
- Осторожно с персональными данными. Имена, телефоны, почты и профили людей — персональные данные. Их сбор и обработку регулирует закон (в России — 152-ФЗ «О персональных данных»), и то, что информация где-то опубликована, ещё не значит, что её можно свободно собирать в базу. Если задача касается данных о людях, сначала проконсультируйтесь с юристом.
- Помните про авторские права. Тексты, фото и описания могут быть защищены. Собрать цены для анализа — одно, скопировать чужой каталог к себе на сайт — другое.
- Есть API — используйте его. Официальный API или выгрузка данных надёжнее и честнее парсинга страниц.
Как начать
- Определите сайт и объём, проверьте поддержку IPv6.
- Возьмите несколько адресов для теста в @Proxy365Bot или пройдите подбор за 4 вопроса. Оплата — звёздами Telegram, доступы приходят в чат сразу.
- Найдите безопасный темп и посчитайте нужное число IP.
- Докупите недостающие адреса. Бот напомнит об окончании срока, а при продлении IP и доступы не меняются — настройки парсера переписывать не придётся.
Коротко
- Прокси распределяют запросы по адресам, чтобы парсер не упирался в лимиты и капчи, но не дают права перегружать сайт.
- Число IP = запросов в час ÷ безопасный темп одного адреса, с округлением вверх и запасом. Темп определяйте тестом.
- Сайт поддерживает IPv6 — берите IPv6; не поддерживает — личные IPv4; строгий к дата-центрам — резидентские.
- Соблюдайте robots.txt, собирайте только общедоступное и осторожно обращайтесь с персональными данными.
- Актуальные цены — в @Proxy365Bot, а тип подскажет подбор за 4 вопроса.
Частые вопросы
Сколько прокси нужно для парсинга?
Зависит от объёма и от того, сколько запросов сайт спокойно принимает с одного IP. Разделите нужное число запросов в час на безопасный темп одного адреса, округлите вверх и добавьте запас.
Какие прокси лучше для парсинга?
Если сайт поддерживает IPv6 — IPv6: это самые дешёвые адреса, и их можно брать много. Если нет — личные IPv4. Резидентские нужны, когда сайт заметно строже относится к адресам дата-центров.
Как узнать, поддерживает ли сайт IPv6?
Проверьте, есть ли у домена AAAA-запись, например командой nslookup -type=AAAA site.ru или онлайн-сервисом проверки DNS. Если записи нет, IPv6-прокси с этим сайтом не заработают.
Нужна ли ротация IP для парсинга?
Для массового сбора без входа в аккаунт — обычно да: запросы распределяются по адресам. Если парсер работает в рамках сессии или с авторизацией, нужен постоянный IP на всё время сессии.
Можно ли парсить любые сайты?
Нет. Соблюдайте robots.txt и условия сайта, не перегружайте его, собирайте только общедоступные данные и учитывайте закон о персональных данных и авторские права.