Маскируем скрипт - прикидываемся браузером
В PHP есть супермощный класс CURL - который позволяет полностью эмулировать соединения с различными параметрами. С помощью небольшого тюнинга можно добиться, что наш скрипт будет неотличим от браузера управляемым человеком.
Зачем это нужно? Опыт показывает, что, например, поисковые системы - скрипту эмулирующему браузер перекрывают кислород намного позже.
Чем браузер отличается от скрипта? Он передаёт строку юзер-агента, сохраняет и отдаёт куки, передаёт сточку реферера (адрес страницы откуда пришли) - мы будем делать то же самое.
Простейший способ использования CURL:
$url = "http://www.site.com";
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$str = curl_exec($ch);
curl_close($ch);
Текст страницы оказывается в переменной $str - с ним потом можно делать всё что угодно.
Теперь тюнингуем наш простейший скрипт.
1. Добавляем сточку юзер-агента
$user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
Строчку юзер-агента можно вставить любого популярного браузера. Это - для Microsoft Outlook 6.0. Также браузер часто передаёт версию ОС и некоторые параметры - например тут версию .NET.
2. Если вызываем несколько страниц на сайте, сохраняем и отдаём куки
$cookie_file = " ..тут вставляем путь к файлу ..";
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
Многие сервисы "отсеивают" скрипты - устанавливая, а затем запрашивая переменную в куки. Путь к куки файлу должен быть полный. При запуске скрипта - желательно удалить файл куки, оставшийся от предыдущей работы скрипта. Также для файла сохраняющего куки, или для папки куда он сохраняется - должны стоять права на запись.
3. Передаём реферера.
Реферер - это адрес страницы, указывающий откуда пришёл пользователь, т.е. адрес страницы на которой была ссылка или форма, действие которой привело на текущую страницу.
curl_setopt($ch, CURLOPT_REFERER, "http://site.com");
Для чего это нужно? Некоторые сервисы могут его проверять и делать определённые выводы. Например, для парсинга страниц результатов поиска Google - можно установить реферер http://google.com - т.е. мы показываем наш эмулятор браузера - "пришёл" на страницу с результатами поиска с главной страницы.
4. Делаем небольшую паузу между запросами
Юзер не кликает страницы друг за другом, а просматривает их через определённое время, поэтому, в случае, если запрашиваем много страниц циклом - нужно обязательно вставить небольшую паузу.
sleep(5);
Также можно сделать случайную паузу, например от 2 до 10 секунд.
sleep( rand(2,10) );
5. Использование прокси
Чтобы совсем замаскировать следы - можно использовать прокси.
curl_setopt($ch, CURLOPT_PROXY, "111.222.333.444:5555");
Нужно удалять файл куки перед сменой прокси.
Инструкции для эмуляции браузера с использованием CURL получаются следующие:
$url = "http://www.site.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
$cookie_file = " ..тут вставляем путь к файлу ..";
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_REFERER, "http://site.com");
curl_setopt($ch, CURLOPT_PROXY, "111.222.333.444:5555"); //Прокси - если необходимо
$str = curl_exec($ch);
curl_close($ch);
...
sleep( rand(2,10) );
22 комментария:
Спасибо, очень помог :-)
Спасибо, а можеш поделитсья скриптом по замене и проверке прокси?
Спасибо, тоже помогло. В пхп новичок, но удалось написать нужный мне скриптик.
Только вот эти строчки ничего не сохраняют у меня в файл, почему-то.
$cookie_file = "cookie.txt";
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
И еще такой вопрос, на одном хостинге скрипт выдал что в сейфмоде функция curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1) не поддерживается. Что нибудь можно сделать?
не знаю - может кому пригодится - полная эмуляция браузера (я бы сказал даже управление реальным браузером )) ) на пхп - xedant human emulator называется ...
[url=http://wmtraffs.ru/]WMTraffs.ru[/url] - зарабатывай бабло, продавая popunder трафик на нашей партнёрке
Проект WMTraffs.ru предлагает Вам способ зарабатывать на своих ссылках, не имея сайта. Такженаша партнёрка предлагает выкуп трафика с сайтов сети интернет с помощью технологий popunder, clickunder, растяжка в шапке, обычные баннера.
[color=#5588aa]Музыкальный ансамбль [url=http://dejavu-group.ru/about_us.php]Дежа вю[/url] - это коллектив профессиональных вокалистов и музыкантов.
[url=http://dejavu-group.ru/about_us.php]Дежа вю[/url]- один из лидеров в области музыкального сопровождения корпоративных вечеринок, свадеб, торжеств, шоу программ, музыкальных ыечеров.
В репертуаре Музыкантов Dejavu-group около 3 тыс. произведений.
Только живое исполнение. Ретро, хиты 70-80-90-х, джаз, диско, поп, современная музыка, европейские хиты, фоновая музыка, шансон.
Музыкальная группа Дежа вю располагает мощной качественной музыкальной аппаратурой, позволяющей наполнить приятным уху звуком как небольшое помещение (фуршет), так и огромное помещение (корпоратив до 1000 человек).
Игорь +7 916 623 4047 [/color]
Задумались о презентах на НГ сыну, ему 4 годика, всевозможные-пылесборники-конструкторы у него есть предостаточно, он любитмышку Тич. Я откапала типа такой игрушки, только мишку http://www.sweetwear.ru/video1.php , кто-нибудь покупал такого? Есть смысл покупать? Или порекомендуйте что-либо ещё. Не дайте ребенку остаться без подарочка от Санты.
желаю все щастя в новом году
не очень
[url=http://vybory2012.com]Нескорый суд[/url] [url=http://tvparty.biz]и более всего[/url] [url=http://allmet.org]Насмешки недостойных[/url] [url=http://otzv.net]над достойным[/url] [url=http://vgashop.net]Когда так просто[/url] [url=http://jmarket.info]сводит все концы[/url] [url=http://avto-shop.biz]Удар кинжала[/url]
[color=#5588aa]Музыканты на праздник [url=http://dejavu-group.ru/about_us.php]Dejavu-group[/url] - это коллектив заслуженных вокалистов и музыкантов на праздник.
[url=http://dejavu-group.ru/about_us.php]Deja Vu[/url]- законодатель в области организации и проведения свадеб, дней рождения, корпоративных вечеров, шоу программ.
В репертуаре Музыкантов Deja Vu более 3000 произведений.
Живой звук. Поп, хиты 70-80-90-х, диско, джаз, ретро, современная музыка, европейские хиты, фоновая музыка, шансон .
Артисты на праздник Дежа вю располагает мощной качественной музыкальной аппаратурой, которая позволяет заполнить приятным уху звуком как небольшое помещение (фуршет), так и большое пространство (корпоратив до 1000 человек).
Игорь +7 916 623 4047 [/color]
спасибо за инфу!
а-а, спасибо )
нет, не всегда. но в этом случае, да.
нет, не всегда. но в этом случае, да.
Хоть кто-то здравомыслящий остался
жаль что результаты javascript этот браузер не выдает. если страница формирует части с ajax то их не получаем... может есть методы обойти это?
Ну, вот… так всегда: сначала все путем, а потом пошло-поехало…
Если кому интересно, лучший способ защитить себя от навязчивых мобилок - использовать Подавители связи
Best-lournals.ru - Читайте онлайн журналы.
Best-journals.ru - Читайте онлайн журналы.
edelvaice.com
Отправить комментарий