[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поделитесь скриптом определения поисковых роботов
inpost
Поделитесь скриптом определения поисковых роботов.
Только мне бы корректный с нормальной поддержкой. Допустим наличие в USER_AGENT строки "yandex" некорректное.
П.С. В гугле не забанили, но что-то найти не получается. Либо допишите сами, либо список не полный, либо некорректный, как выше указал.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
FatCat
Очень упрощенно:
$s_user_agent = $_SERVER['HTTP_USER_AGENT']." ".@gethostbyaddr($ibforums->input['IP_ADDRESS']);
if ( preg_match( '/(YandexBlogs|googlebot|google-proxy|slurp@inktomi|ask jeeves|lycos|whatuseek|ia_archiver|aport|yandexbot|stackrambler|yahoo|msnbot|webalta|Mail.Ru|bingbot| mj12bot|exabot|baiduspider|hosttracker|AhrefsBot|SputnikBot|BLEXBot)/i', $s_user_agent, $match ) )
{
// сессия поискового бота
}

Подумываю, не сократить ли этот список. Например мсн-бот - нафига он мне нужен; с этой поисковки нет нормальных посетителей. А поисковым ботам у нас есть ряд льгот...

_____________
Бесплатному сыру в дырки не заглядывают...
inpost
FatCat
https://yandex.ru/support/webmaster/robot-w...ndex-robots.xml
Вот USER_AGENTы:
Mozilla/5.0 (compatible; YandexAccessibilityBot/3.0; +http://yandex.com/bots) — скачивает страницы для проверки их доступности пользователям, особым образом интерпретирует robots.txt.
Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4 (compatible; YandexMobileBot/3.0; +http://yandex.com/bots) — робот, определяющий страницы с версткой, подходящей под мобильные устройства, особым образом интерпретирует robots.txt.

Цитата
Имена всех роботов Яндекса заканчиваются на 'yandex.ru', 'yandex.net' или 'yandex.com'.

Так же предлагают определять по gethostbyaddr, яндекс возвращает: spider-100-43-81-130.yandex.com.

В итоге этот скрипт не определяет корректно ботов яндекса, я не проводил анализ других поисковиков, но у меня закладывается подозрение, что есть косяки и с остальными.
В общем, этот не подходит, но всё равно спасибо.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
S.Chushkin
А вот пара вопросов:
1) Зачем Вам точное определение ботов? В чём смысл?
2) Как Вы сможете определить реальный это бот или фантом? (ибо любой параметр заголовка можно подделать)

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
inpost
S.Chushkin
Выводить окно с просьбой зарегистрироваться обычным пользователям, перекрывающее часть контента на странице. Не хочу попасть в фильтры, так как контент будет находиться именно за всплывающем окне и поисковики могут расценить его как клоакинг

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
inpost
Ах, ещё одно уточнение. Этот блок запихну в <noindex>, то есть разницы между контентом пользователя+контентом робота не будет, содержание будет одинаковым, но при этом защищусь от клокинга.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
FatCat
Цитата (inpost @ 14.11.2015 - 14:49)
Выводить окно с просьбой зарегистрироваться обычным пользователям, перекрывающее часть контента на странице.

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


Смысл фильтрации ботов для меня в оптимизации нагрузки на сервер. Если бот поисковки, с которой нет посетителей, или вообще бот воровальщик контента - я его забаню по айпишнику.

_____________
Бесплатному сыру в дырки не заглядывают...
inpost
FatCat
Возможно, но люди разные бывают и проекты тоже. Мне тоже подобные окна не очень нравятся, приходится идти в HTML-инспектор и вручную убирать его ради контента. Но всё же задача стоит, её необходимо реализовать.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
S.Chushkin
Цитата (inpost @ 14.11.2015 - 15:49)
Выводить окно с просьбой зарегистрироваться обычным пользователям, перекрывающее часть контента на странице.

Т.е. Вам не нужно точное определение, вполне достаточно бот/юзер.
"Стандартный" список ботов + поиск регуляркой по UA даст 90+ процентов точности. Если такой точности мало, то или делаете свой велосипед или заказываете на стороне или используете платные online-сервисы (вроде есть такие), это даст точность 98+% (от числа показов страниц). 100% не даст никто, кроме шарлатанов.

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
inpost
S.Chushkin
Вот я и говорю, что не могу найти стандартный список ботов. Придется колошматить всю документацию каждого из поисковиков и под каждого в отдельности писать, что, на мой взгляд, будет выглядеть как велосипед.

Цитата
поиск регуляркой по UA

Открой документацию Яндекса, я ссылку же дал, UA не подходит, надо хост проверять.

Цитата
заказываете на стороне

И сколько людей с этой задачей справятся? 90% дадут код, похожий на код от FatCat, который примерно +- будет переполнен в интернете с такими же неправильными примерами.

Цитата
делаете свой велосипед

Сначала ищем, если не находим, тогда делаем уже, и это не будет велосипедом, так как подобного нет в других местах.

В любом случае подожду, может у кого найдется подобная подборка.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
S.Chushkin
Цитата (inpost @ 14.11.2015 - 21:17)
Вот я и говорю, что не могу найти стандартный список ботов. Придется колошматить всю документацию каждого из поисковиков и под каждого в отдельности писать, что, на мой взгляд, будет выглядеть как велосипед.

1) Не надо ничего "колошматить". Всё уже "проколошмачено" до нас. wink.gif
2) Плохо искали.
Например, возмите awstats, найдите там robots.pm - это и будет начальный/базовый список регулярок сотен ботов, который даст 90+ точности. Адаптировать под ПХП 1-2 дня работы.
Плюс ещё кучка ресурсов в инете.

Цитата
Открой документацию Яндекса, я ссылку же дал, UA не подходит, надо хост проверять.

Ещё раз, - какая разница для Вашей задачи, какой из роботов пришёл на сайт?
Абсолютно никакой. Бот - скрыть popup-окно, юзер - показать.

Цитата
Сначала ищем, если не находим, тогда делаем уже, и это не будет велосипедом, так как подобного нет в других местах.

Будет, будет - ничего нового вы не напишете, такой же велосипед, +/-. wink.gif


_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
inpost
S.Chushkin
Глянул awstats, проверил по Яндексу, опять некорректно. Вот цитата: 'yandex', а это не подходит.

Цитата
2) Плохо искали.

Искал хорошо. Находил такие же кривые.

Цитата
Ещё раз, - какая разница для Вашей задачи, какой из роботов пришёл на сайт?

Мне надо быть уверенным, что это Яндекс бот, а не яндекс браузер.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
S.Chushkin
Как сказал выше, это "базовый список". Идеальных списков нет, в т.ч. список ботов часто пополняется. Кроме того, у каждого сайта свой набор роботов.
Например, мне пришлось добавить порядка 3-х сотен ботов и поправить десятки регулярок, чтобы более-менее корректно обрабатывать логи пары сайтов за последние 10 лет. И ежемесячно добавляется несколько новых роботов.
В общем, актуальная ("не кривая") это та база, которая обновляется фактически ежедневно. Вероятно есть такие сервисы, - я не знаю, не искал. И стоит учитывать, по статистике 99+% трафика роботов дают всего пара десятков ботов, остальные на уровне фона. Написать скрипт, которые будет эти 2 десятка отлавливать, день работы, - может это будет быстрее, чем долго и упорно искать халявы? smile.gif

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.