защита байпас разбор 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, невярно); , Използвайте ги, и проблемът ще бъде решен.
Мобилен сайт
Какво да направите после:
Преминете към решаване на проблемите на следния линк: цели за урока.
Когато всичко се реши - да преминете към изучаването на нова тема.