offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppPsAiICh 74 of 84 menu

Смена IP при парсинге в PHP

Из-за задержек, вставляемых при парсинге, скорость работы парсера существенно замедляется. Ее, однако, можно увеличить, если у вас есть несколько IP адресов. Тогда каждый запрос к сайту можно делать с другого IP, что позволит выставить меньшее время задержек (во столько раз меньше, сколько у вас IP адресов). Для этого есть два способа.

Первый способ - купить дополнительные IP адреса на хостинге. В этом случае переключение IP при парсинге выполняется следующей опцией CURL:

<?php curl_setopt($curl, CURLOPT_INTERFACE, 'ip адрес'); ?>

Второй способ - купить прокси-сервера на специальных сервисах (можно использовать и бесплатные прокси, но как показывает практика - они особо не работают). В случае с прокси переключение ip при парсинге выполняется следующей опцией CURL:

<?php curl_setopt($curl, CURLOPT_PROXY, 'ip адрес'); ?>

Напишите парсер, который будет работать со сменой IP адресов.

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

Чем больше целевой сайт банит ваших IP, тем больше возрастает нагрузка на оставшиеся. Сделайте так, чтобы время задержек увеличивалось при уменьшении количества IP адресов.