Частенько нужно программно зайти на какой нибудь сайт, но так, чтобы это выглядело так, что кто-то загрузил страницу в браузере.
Snoopy – это PHP класс эмулирующий работу веб. браузера, он позволяет получать содержимое страницы и например отправлять данные форм.
Последняя дата обновления ноябрь 2005 года.
Запросу на получение страницы можно подсунуть: хост (адрес страницы), порт, куки, реферальную страницу(адрес страницы по ссылке с которой якобы заходим), агента(название браузера), логин/пароль базовой авторизации, все что хотите в содержимое заголовка (header). Еще можно установить атрибуты прокси сервера – это нужно во первых для анонимности и во вторых против бана можно сменить прокси сервер. Есть поддержка редиректов, фреймов.
Кроме получения содержимого страницы есть функции для:
а) вытаскивания чистого текста (без тегов)
б) получения всех ссылок на странице
в) получения форм
вот вроде бы и все, вобщем очень неплохой класс для нужд спамера тире разработчика поискового бота
==================================
Теперь о том чего нет, и что хотелось бы видеть в классе
1) Более сложный парсинг ссылок, т.е. не только нужны порой сами урлы, но и текст ссылок
2) Парсинг всех используемых на странице картинок
3) Более сложная работа с формами. Получение формы в объект, заполнение переменных объекта значениями, отправка запроса
Немного фантастики …
4) Эмуляция выполнения событий javascript например клики по объектам наведение курсором и т.д. получения измененной страницы после действия javascript. Это же касается и vb script
5) Выполнение ajax запросов. Получение измененной страницы после исполнения ajax
6) Поддержка работы flesh обектов. Возможность сохранить в файл, нажать на ссылку