Zmiana IP podczas parsowania w PHP
Z powodu opóźnień wstawianych podczas parsowania, szybkość działania parsera znacząco spada. Można ją jednak zwiększyć, jeśli masz kilka adresów IP. Wtedy każde żądanie do strony można wykonać z innego IP, co pozwoli ustawić mniejszy czas opóźnień (tyle razy mniej, ile masz adresów IP). Istnieją dwa sposoby, aby to zrobić.
Pierwszy sposób - kupić dodatkowe adresy IP u hostingu. W tym przypadku przełączanie IP podczas parsowania jest wykonywane za pomocą następującej opcji CURL:
<?php
curl_setopt($curl, CURLOPT_INTERFACE, 'adres ip');
?>
Drugi sposób - kupić serwery proxy na specjalnych serwisach (można użyć również darmowych proxy, ale jak pokazuje praktyka - one szczególnie nie działają). W przypadku proxy przełączanie ip podczas parsowania wykonuje się za pomocą następującej opcji CURL:
<?php
curl_setopt($curl, CURLOPT_PROXY, 'adres ip');
?>
Napisz parser, który będzie działał ze zmianą adresów IP.
Strona docelowa może zbanować jeden lub kilka twoich adresów podczas parsowania. Dodaj sprawdzanie, które będzie sprawdzać, czy działa IP i tymczasowo usuwać go z listy, jeśli jest zbanowany.
Im więcej docelowa strona banuje twoich IP, tym bardziej rośnie obciążenie pozostałych. Zrób tak, aby czas opóźnień zwiększał się przy zmniejszaniu się liczby adresów IP.