Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт фиксирует визит паука.
 
 автор: Никоза.   (08.02.2005 в 06:30)
 
 

Реально ли написать скрипт, который бы сообщал, что сегодня твой сайт посетил рамблеровский паук, и обновил свою базу?

   
 
 автор: Никоза.   (08.02.2005 в 06:42)
 
   для: Никоза.   (08.02.2005 в 06:30)
 

Желательно в таком виде:
if (Вас обновил рамблеровский паук);
{
отправляем письмецо хозяину с радостной вестью.
}
exit;
?>

   
 
 автор: cheops   (08.02.2005 в 12:23)   письмо автору
 
   для: Никоза.   (08.02.2005 в 06:42)
 

Да, это вполне реально, в разделе downloads http://www.softtime.ru/info/downloads.php доступен для свободной загрузки счётчик PowerCounter 2.1, который анализирует посещаемость сайта роботами Rambler, Yandex, Google и Aport. Каждый клиент обычно сообщает серверу о себе сведения, которые доступны из PHP-скрипта в элементе суперглобального массива $_SERVER['HTTP_USER_AGENT']. Пауки или интелектуальные агенты, тоже сообщают о себе серверу
Ниже перечислены строки, которые обычно возвращают наиболее известные поисковые роботы:
"StackRambler/2.0" или "StackRambler/2.0 (MSIE incompatible)')" — Rambler;
"Yandex/1.01.001 (compatible; Win16; I)" — поисковый робот Yandex;
"Googlebot/2.1 (+http://www.googlebot.com/bot.html)" — Google;
"Aport" — Aport.
Тогда код, учёта посещаемости может выглядеть таким образом:
<?php
      
// Выясняем принадлежность к поисковым роботам
      
if(substr($useragent012) == "StackRambler"$os 'robot_rambler';
      if(
substr($useragent09) == "Googlebot")     $os 'robot_google';
      if(
substr($useragent06) == "Yandex")        $os 'robot_yandex';
      if(
substr($useragent05) == "Aport")         $os 'robot_aport';
?>

Значение переменной $os лучше помещать в какой-либо файл, так если при каждом посещении отправлять письмо, то после того как по сайту пройдётся товарищ вроде Yandex - вы будете неделю вычищать почтовый ящик :))). У нас от него за день может быть до двух тысяч обращений. Лучше хранить эту информацию в таблице MySQL, так как это сделано в PowerCounter 2.1.

PS В нашей третьей книге "PHP 5 в примерах", выход которой ориентировочно запланирован на май этого года работа с роботами поисковых систем будет рассмотрена более подробно в разделе "Ловим пауков, или учёт пользовательских агентов".

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования