защита байпас разбор Trepachov Дмитрий

разбор уеб сайтове

Ако разбор на повече или по-малко сериозни сайтове - може да се изправи защита разбор. Например, ако сте разбор всеки сайт за доста дълго време, и се изпращат заявки към нея много често - този сайт можете да блокирате по IP и да даде капитан.

Основният принцип на заобикаляне на разбор - вашият анализатора трябва да се държат като щеше да се държат хората, които са посетили сайта.

Най-простото нещо, което може да направи - е да се определи периода от време между искания към чужд сайт.

Закъсненията са определени с помощта на PHP сън функция. този параметър отнема време в секунди - по това време, сценарият просто "заспа" и след изпълнението му започва наново.

Важно: място за нередовен закъснение или скрипт, който изпраща заявки при честота от, например, точно 5 секунди, лесно се следи и banitsya.

Отново, времезакъснението за всеки обект трябва да се избира индивидуално.

Недостатък на предишния метод е, че скоростта на разбор пада значително в резултат на тези забавяния. Можете да използвате по друг начин - IP промяна (от сайтове banyat анализатора IP на компютъра с анализатор).

Ако вашият анализатора се намира на локалния компютър, а след това промяната на IP е много лесно - просто рестартирайте рутера (кутия с интернет). В този случай, Вашият IP ще бъде заменен (освен ако, разбира се, това не е статичен) - и може да продължи да се направи разбор на следващия.

Ако, обаче, действието се развива в сървъра - има два начина.

Разширено работа с CURL

Вижте статията. - Има описание напреднал работа с извие.

препоръки

Аз препоръчвам да направите следните неща, за да симулират браузър:

1. Изпращане и получаване на бисквитки.

2. Изпратете на HTTP хедърите.

3. Симулирай браузър опция изпращане CURLOPT_USERAGENT: curl_setopt ($ къдри, CURLOPT_USERAGENT, "Mozilla / 4.0 (съвместим; MSIE 7.0; Windows NT 5.1) ');

Работа с HTTPS

Понякога е, че сайтът работи чрез протокол HTTPS. а не HTTP. В този случай, вие се нуждаете от следните две опции: curl_setopt ($ къдри, CURLOPT_SSL_VERIFYPEER, невярно); curl_setopt ($ къдри, CURLOPT_SSL_VERIFYHOST, невярно); , Използвайте ги, и проблемът ще бъде решен.

Мобилен сайт

Какво да направите после:

Преминете към решаване на проблемите на следния линк: цели за урока.

Когато всичко се реши - да преминете към изучаването на нова тема.