Snoopy.Эмуляция браузера для парсинга.

Опубликовано 2011.09.12

Snoopy-это php класс,позволяющий эмулировать работу браузера. Очень удобен для написания ботов к браузерным играм.

Если кто не верит-могу показать своего бота,написанного на этом классе. бот умеет бегать по локациям, бить монстров и собирать с них шмот. Не ставил целью прокачать себе крутого перса, а просто хотел написть бота. Написал,поигрался им и бросилcheeky

Что умеет???
Snoopy умеет работать как браузер , а именно запоминать cookies , сессии , таймауты , получать страницы и отправлять формы, работать через прокси и многое другое. Несколько основных функций и определений класса:

 

Настройка useragent, referer, cookies
$snoopy -> agent = ""
$snoopy -> referer = ""
$snoopy -> cookies = ""


Поддержка proxy
$snoopy -> proxy = ""

Поддержка авторизации-proxy
$snoopy -> user = ""
$snoopy -> pass = ""


Извлечение содержимого веб-страницы
$snoopy -> fetch($url)

Извлечение текста со страницы
$snoopy -> fetchtext($url)

Извлечение ссылок со страницы
$snoopy -> fetchlinks($url)

Отправляем формы
$snoopy->submit($url,$vars_array)

Получение результатов
$snoopy->results

 

Пример кода:

  1. include ("./Snoopy.class.php");
  2. $snoopy = new Snoopy;
  3. $snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
  4. $snoopy->referer = "http://google.com/";
  5. $snoopy->cookies["SessionID"] = '238472834723489';
  6. $snoopy->cookies["favoriteColor"] = "blue";
  7. $snoopy->rawheaders["Pragma"] = "no-cache";
  8. $submit_url = "http://php.ru/forum/login.php";
  9. $submit_vars["username"] = "user"; //Логин
  10. $submit_vars["password"] = "123123"; //Пароль
  11. $submit_vars["autologin"] = "off";
  12. $submit_vars["redirect"] = "";
  13. $submit_vars["login"] = "Вход";
  14. $snoopy->submit($submit_url,$submit_vars);
  15. print_r($snoopy->results);

Скачать snoopy.