Поисковые роботы в статистике посещений

5 комментариев

Определение робота поисковой системыВниманию читателей (и себе на память, как обычно) предлагаю законченное решение по отсеиванию ботов поисковых систем — PHP-скрипт, анализирующий активность кроулеров ПС на сайте. Кстати, кроме аналитики такой скрипт может быть полезен, если какой-нибудь особо активный бот мешает нормальной работе сайта.

Скрипт написан на PHP (возможна работа как в режиме модуля Апача, так и в FastCGI), полностью валиден (в рамках соответствия стандартам xHTML1/Strict и CSS/3), имеет гибкую систему настроек и панель управления. Скрипт также может отображать историю активности ботов конкретной поисковой машины.

Скачать скрипт и получить инструкции по его установке можно на сайте его разработчика — Usings.ru, там же есть и демо-версия статистики, генерируемой скриптом.



Curl based HTTP Client vs. Snoopy

11 комментариев

Началось всё с того, что мне захотелось получать некоторые данные не прямым запросом, а через прокси. Переписывать много кода пришлось бы в любом случае, но на популярные грабли наступать не хотелось.

Задачу «отправить POST- или GET-методом данные и получить результат через прокси» взялись выполнить два PHP-класса.

PHPCurl HTTP Client — простая, но эффективная ООП-оболочка над библиотекой Curl. Содержит все методы, необходимые для получения данных со страниц, подмены referrer, авторизации, отправки POST-запросов, управления cookies и т.д.

Snoopy the PHP net client — PHP-класс, эмулирующий работу веб-браузера. Он автоматизирует получение содержимого страниц или, например, отправку форм. Запросы формирует функцией fsockopen().

Функции этих классов очень похожи. Оба они умеют получать содержимое страниц, отправлять любые значения полей User-agent и Refferer, передавать данные POST- и GET-методами, передавать Cookies, и ещё куча мелких бонусов у каждого класса.

Но работают они кардинально по-разному: одна использует системную библиотеку, а вторая PHP-функцию, поэтому я решил сделать замеры скорости для этих классов на одинаковой задаче.

Задача получилась такая: подключить класс, установить User-agent и Refferer, получить страницу с чужого сайта, вывести прошедшее время, повторить всё 100 раз.

Увы, результаты презентативными не оказались: классы показали одинаковую работу в одинаковое время с крошечным отрывом Snoopy в пределах погрешности. Так что можно пользоваться любым из них.




© 2007-2010 Блог интернет-разработчика, автор — Zhilinsky.ru.
При использовании информации ссылка на источник обязательна.