Определение пауков ПС на PHP.

23 Апр 2008

Определение робота поисковой системыНе знаю, пригодится ли этот скрипт кому-то кроме меня, но выкладываю хотя бы просто чтобы не потерять. Простой скрипт анализирует переменную $_SERVER[‘HTTP_USER_AGENT’] и если обнаруживает признаки паука поисковой системы (кравлера), то выдает его имя, иначе – возвращает false.

Использовать можно по-разному:

  • Можно как в IPB – сохранять в базу и выводить где-нибудь в админке или на сайте присутствующих в данный момент ботов.
  • Можно собирать продвинутую статистику индексации и анализировать её (оптимальный вариант).
  • Можно заниматься клоакингом и дорвеестроительством, но, пожалуй, не нужно.

скачать PHP скриптSpiderDetect.phps - Определение роботов поисковых систем.

 

Жилинский Владимир.






 

adw0rd     .

Написано 23 апреля 2008 года в 12:59


Roboquad rullleeezz!
Для добавления поисковых-ботов можно воспользоваться списками ботов на http://www.user-agents.org/

 

Жилинcкий Владимир     .

Написано 23 апреля 2008 года в 13:12


Да, кстати, штуковина с фотки, принадлежащая adw0rd расхаживает по квартире в режиме агрессии и атакует сапоги :-)

 

jeka911     .

Написано 23 апреля 2008 года в 13:31


Из австатса можно вытянуть массивы с ботами, там на порядок больше. И оптимизировать чуть-чуть – популярные в начало двинуть.

 

jeka911     .

Написано 23 апреля 2008 года в 13:32


А “пыщ-пыщ!” делаеть? :)

 

Жилинcкий Владимир     .

Написано 23 апреля 2008 года в 13:36


Делает. И лапой ещё бьёт.

 

Жилинcкий Владимир     .

Написано 23 апреля 2008 года в 13:37


Ага. И по яндексу надо разделить быстробота, основного и зеркальщика. Только их сигнатуры найти…

 

Жилинcкий Владимир     .

Написано 23 апреля 2008 года в 15:25


Нашёл подписи ботов Яндекса:

  • Yandex/1.01.001 (compatible; Win16; I) — основной индексирующий робот
  • Yandex/1.01.001 (compatible; Win16; P) — индексатор картинок
  • Yandex/1.01.001 (compatible; Win16; H) — робот, определяющий зеркала сайтов
  • Yandex/1.02.000 (compatible; Win16; F) — робот, индексирующий пиктограммы сайтов (favicons)
  • Yandex/1.03.003 (compatible; Win16; D) — робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
  • Yandex/1.03.000 (compatible; Win16; M) — робот, обращающийся при открытии страницы по ссылке «Найденные слова»
  • YaDirectBot/1.0 (compatible; Win16; I) — робот, индексирующий страницы сайтов, участвующих в Рекламной сети Яндекса
  • Yandex/2.01.000 (compatible; Win16; Dyatel; C) — «простукивалка» Яндекс.Каталога.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; Z) — «простукивалка» Яндекс.Закладок. Ссылки на недоступные сайты помечаются серым цветом.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; D) — «простукивалка» Яндекс.Директа. Она проверяет корректность ссылок из объявлений перед модерацией. Никаких автоматических действий не предпринимается.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; N) — «простукивалка» Яндекс.Новостей. Она формирует статистические отчеты для контент-менеджера и информирует его о возможных проблемах у партнеров-поставщиков новостей.
 

phpsouthpark     .

Написано 23 апреля 2008 года в 22:14


Сложные вы :)
Проще всего определять с помощью JavaScript (у кого есть JavaScript, тот не бот). Это будет тоже не абсолютно точно, но точнее.

 

Жилинcкий Владимир     .

Написано 23 апреля 2008 года в 22:19


А дальше что с этими данными делать ? Серверное определение позволяет более гибко использовать полученные данные.

 

fornex     .

Написано 24 апреля 2008 года в 01:33


медленными, но верными шагами ты подбираешься к ООП :)

@phpsouthpark, абсолютно прав, такие вещи желательно решать на уровне JS. (если проект расчитан на большое кол-во просмотров)

а вообще, какая разница кто пришел? ;)

 

Жилинcкий Владимир     .

Написано 24 апреля 2008 года в 01:37


Да, есть такая буква. Прочитал пару толковых книжек по ООП в среде PHP5, теперь наконец понял чего это и зачем. Удобно, толково, но в сознании не всегда под проектирование оперативной памяти хватает :-D

Я эти скрипты собираю со своей хитрой целью – давно зреет мысль сделать НОРМАЛЬНЫЙ счётчик. Может для себя, может как сервис. Процентов 50 кода уже есть, надо только собрать в кучу и завести :-D

В плане SEO-счётчика информация о том кто был и когда и с какой периодичностью и сколько сожрал – важна. И нафиг ваш JS в таком разрезе :-P

 

jeka911     .

Написано 24 апреля 2008 года в 04:15


Тоже начинал для себя писать. Геоайпи, из австатса кучу повытягивал и на пхп перевел. Но все как-то важнее дела находятся.

p.s. а в разрезе ботов с поддержкой js? :) ты не поклонник теории заговора? :D

 

Жилинcкий Владимир     .

Написано 24 апреля 2008 года в 07:36


А, так JS вообще ботов засечь не должен – они ведь не выполняют его :-D

 

jeka911     .

Написано 24 апреля 2008 года в 13:09


Ходят слухи что и такие чуда есть. Дороборцы :)

 

Bolzamo     .

Написано 25 апреля 2008 года в 02:40


Спасибо, ценный скрипт! Сам хотел замутить, но все не доходили руки составить список ботов.
Кстати, в коде ошибка:
array(‘Yandex’, ‘Yandex’)
array(‘YaDirectBot’, ‘Yandex Direct’)
они не разделены запятой, поправь.

 

Жилинcкий Владимир     .

Написано 25 апреля 2008 года в 12:38


Угу, поправил, спасибо.

 

phpsouthpark     .

Написано 25 апреля 2008 года в 14:28


Никто не мешает использовать одновременно 2 метода. Просто список всех ботов в любом случае не получится, а с JS будет более 90% точности.
И в любом случае есть информация, которую можно получить только с помощью JavaScript – разрешение экрана, наличие Flash, Java. Для нормального счётчика это нужно :)

 

Жилинcкий Владимир     .

Написано 25 апреля 2008 года в 14:32


Такие данные нужны в основном для каких-то конкретных исследований. Для обычного счётчика я думаю они необязательны.

 

5 маленьких откровенностей обо мне - Virtual-lab     .

Написано 25 апреля 2008 года в 19:30


[…] Сибиряк, который написал занимательный пост о новом виде спама Жилинский Владимир, у которого можно почитать об определение пауков ПС на PHP […]

 

Vadim     .

Написано 30 апреля 2008 года в 22:15


А как же ситуация когда бот “прикидывается” браузером?
Насколько я знаю, если бот обнаруживает существенную разницу между видом страницы для бота и для браузера – это лишний минус сайту при ранжировании.
Но опять же эти данные из серии “одна баба сказала”.

 

phpsouthpark     .

Написано 2 мая 2008 года в 14:05


Ну так автор же написал:
“Можно заниматься клоакингом и дорвеестроительством, но, пожалуй, не нужно.”
Существенная разница – это и есть клоакинг.

 

Web updated     .

Написано 16 мая 2008 года в 16:36


Интересная статья. Я подобным образом спамерских ботов определяю.
Например: larbin_2.6.3 [email protected]
Это бот :)

 

Clockss     .

Написано 17 мая 2008 года в 21:47


список ботов даже опубликован сайте яндекса и гугляс тоже вывешивал его как-то.

Оставить комментарий:

You must be logged in to post a comment.

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