Змена 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 адрасоў.