PressEngineBot — официальный веб-краулер сервиса PressEngine, ориентированного на работу с публикациями игровой и entertainment-индустрии. Он анализирует опубликованные материалы, сопоставляет их с кампаниями пользователей PressEngine и помогает подтверждать coverage — статьи, обзоры и другие публикации о продуктах.
Поэтому описывать PressEngineBot как неизвестного автоматического сканера общего назначения неправильно. У бота известен оператор, опубликована crawl policy, задокументирован User-Agent и перечислены IP-адреса.
| Параметр | Значение |
|---|---|
| Название | PressEngineBot |
| Оператор | PressEngine |
| Тип | Контентный crawler / coverage verification |
| Основной UA | PressEngineBot (+http://pressengine.net/crawl-policy) |
| Основная тематика | Видеоигры и entertainment |
| Автоматический обход | Да |
| Запуск по конкретному URL | Да |
| Переход по внутренним ссылкам | Да, ограниченно |
| Максимальная заявленная глубина | До 3 уровней |
| Переход по внешним ссылкам | Нет |
| Соблюдение robots.txt | Нет |
| Официальные IP | Да |
| AI training | Не является заявленной целью |
| Категория TrafficVeil | Прочие краулеры и сервисы |
Для чего PressEngine нужен собственный crawler
PressEngine работает с информацией о публикациях вокруг игровых и entertainment-проектов. В этой среде материал о продукте часто называется coverage.
Например, автор или редакция публикует обзор игры. PressEngine необходимо определить, что материал существует, доступен через интернет и соответствует данным, с которыми работает сервис.
Для этого PressEngineBot получает опубликованную страницу и анализирует необходимые элементы.
У PressEngineBot есть два режима работы
Официальная политика PressEngine описывает два сценария.
1. Автоматический crawler
Этот вариант периодически проверяет известные PressEngine издания на наличие новых публикаций и может обнаруживать новые источники контента.
Такой трафик способен выглядеть как традиционный crawler: бот самостоятельно посещает несколько страниц и анализирует внутренние ссылки.
2. Проверка по запросу пользователя
Пользователь PressEngine может самостоятельно передать URL публикации.
После этого PressEngineBot получает конкретную страницу и анализирует её в рамках сервиса.
Поэтому единичный неожиданный запрос PressEngineBot вовсе не обязательно означает начало систематического обхода всего сайта.
Какие данные собирает PressEngineBot
Назначение crawler описано оператором достаточно подробно.
При поиске нового coverage PressEngineBot анализирует:
- URL страницы;
- заголовок;
- краткое содержание публикации;
- внутренние ссылки на другие страницы сайта.
Последний пункт важен: бот действительно способен переходить дальше исходного документа, но заявленная глубина такого обхода ограничена тремя уровнями.
Что PressEngineBot заявляет, что не собирает
Согласно crawl policy оператора, бот не предназначен для сбора всего содержимого сайта.
В частности, PressEngine заявляет, что crawler не анализирует:
- изображения;
- видеофайлы;
- ссылки, ведущие на сторонние сайты;
- административные разделы;
- страницы авторских списков;
- форумы;
- комментарии;
- другие зоны, которые обычно не содержат coverage.
Оператор также заявляет, что PressEngineBot не копирует материалы для последующей перепубликации.
PressEngineBot не является универсальным веб-индексатором
По характеру запросов его легко перепутать с поисковым crawler, однако модель работы отличается от Googlebot или Bingbot.
| Признак | PressEngineBot | Поисковый робот |
|---|---|---|
| Основная задача | Обнаружение и проверка coverage | Построение поискового индекса |
| Тематика | Игровая и entertainment-пресса | Практически весь открытый веб |
| Внешние ссылки | Не обходит | Может использовать для обнаружения новых URL |
| Ручной запуск на URL | Да | Не основной сценарий |
| robots.txt | Не соблюдает | Крупные поисковики соблюдают |
Как выглядит User-Agent PressEngineBot
Официально опубликованная строка:
PressEngineBot (+http://pressengine.net/crawl-policy)
Для поиска в логах обычно достаточно устойчивого токена:
PressEngineBot
Проверку лучше выполнять без учёта регистра.
Как найти PressEngineBot в логах Nginx
Все обращения:
grep -i "pressenginebot" /var/log/nginx/access.log
Количество запросов:
grep -ic "pressenginebot" /var/log/nginx/access.log
Наиболее активные IP:
grep -i "pressenginebot" /var/log/nginx/access.log \
| awk '{print $1}' \
| sort \
| uniq -c \
| sort -nr \
| head -20
Самые часто посещаемые страницы:
grep -i "pressenginebot" /var/log/nginx/access.log \
| awk '{print $7}' \
| sort \
| uniq -c \
| sort -nr \
| head -30
Распределение HTTP-кодов:
grep -i "pressenginebot" /var/log/nginx/access.log \
| awk '{print $9}' \
| sort \
| uniq -c \
| sort -nr
Как понять сценарий обхода по логам
Структура запросов помогает определить, что именно происходит.
| Картина в access.log | Возможный сценарий |
|---|---|
| Один конкретный URL | Материал мог быть отправлен пользователем PressEngine вручную |
| Несколько связанных статей | Автоматическое обнаружение coverage |
| Последовательный переход по внутренним страницам | Работа автоматического crawler |
| Сканирование .env, .git или админок | Нетипично для задокументированного PressEngineBot |
| Много запросов к изображениям | Не соответствует заявленной модели crawler |
| Переходы на внешние домены | Не соответствуют опубликованной crawl policy |
Есть ли у PressEngineBot официальные IP
Да. PressEngine публикует IP-адреса, с которых могут выполняться обращения crawler.
На момент актуализации документации оператор указывает следующие адреса:
20.0.177.61
20.77.142.177
20.117.101.135
20.117.103.158
51.105.37.162
51.132.208.31
51.140.46.202
51.140.84.145
51.140.177.236
Но PressEngine отдельно предупреждает, что список обновляется по мере изменения инфраструктуры.
Поэтому использовать перечисленные адреса как вечный статический allowlist неправильно.
Как верифицировать настоящий PressEngineBot
User-Agent нельзя считать достаточным доказательством.
Любой HTTP-клиент может отправить:
User-Agent: PressEngineBot (+http://pressengine.net/crawl-policy)
Для более надёжной идентификации следует сопоставлять:
- полный User-Agent;
- исходный IP;
- актуальный список PressEngine;
- ASN;
- посещаемые URL;
- глубину обхода;
- HTTP-методы;
- частоту;
- соответствие поведения crawl policy.
Почему поведение здесь особенно хороший сигнал
У PressEngineBot довольно узко описанная область деятельности.
Поэтому клиент, который называется PressEngineBot, но одновременно:
- перебирает
/wp-login.php; - ищет
/.env; - открывает
/.git/config; - проверяет phpMyAdmin;
- перебирает API endpoints;
- пытается отправлять POST-запросы в административные формы;
не соответствует нормальному профилю этого crawler.
В такой ситуации известное имя агента не должно давать запросу никаких дополнительных привилегий.
Как проверить IP и ASN вручную
IP="1.2.3.4"
whois "$IP"
dig +short -x "$IP"
Для ASN:
whois -h whois.cymru.com " -v $IP"
ASN полезен как дополнительный сигнал, но не заменяет проверку по официальной инфраструктуре.
PressEngineBot и robots.txt: важное исключение
Для этого crawler стандартный совет «добавьте Disallow в robots.txt» не работает.
PressEngine прямо указывает, что PressEngineBot не следует robots.txt.
Причина связана с моделью работы: оператор не считает его crawler в традиционном понимании, поскольку он не выполняет безграничный переход по всему внутреннему и внешнему ссылочному графу.
Поэтому:
User-agent: PressEngineBot
Disallow: /
может выражать предпочтение владельца сайта, но не является механизмом фактической блокировки PressEngineBot.
Как действительно остановить PressEngineBot
Если необходимо гарантированно запретить обращения, потребуется техническое правило:
- TrafficVeil;
- WAF;
- reverse proxy;
- Nginx;
- Apache;
- firewall.
Кроме того, PressEngine предлагает обратиться к оператору, если владелец ресурса не хочет, чтобы сайт посещал PressEngineBot.
Блокировка PressEngineBot через Nginx
Простой полный запрет по UA:
if ($http_user_agent ~* "pressenginebot") {
return 403;
}
Такое правило остановит и настоящий crawler, и любой клиент, который подделывает его User-Agent.
Если требуется фильтрация именно подтверждённого PressEngine, надёжнее сочетать User-Agent с сетевой идентификацией.
Блокировка через Apache
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} PressEngineBot [NC]
RewriteRule ^ - [F,L]
Результатом будет ответ 403 Forbidden.
Нужен ли PressEngineBot rate limit
Зависит от роли сайта.
Для нерелевантного корпоративного, коммерческого или технического ресурса обычно нет особой причины сохранять доступ crawler, если он создаёт заметную нагрузку.
Для игрового или entertainment-издания ситуация другая: полная блокировка может лишить PressEngine возможности обнаруживать и подтверждать coverage.
Если бот полезен, но обращений слишком много, перед полным deny логично:
- измерить фактическое число запросов;
- определить количество уникальных страниц;
- проверить IP;
- посмотреть глубину обхода;
- оценить нагрузку на origin;
- сопоставить активность с публикацией новых материалов.
Как посчитать нагрузку PressEngineBot
Сам RPS не даёт полной картины.
Для crawler важнее одновременно измерять:
- requests/min;
- requests/hour;
- уникальные URL;
- уникальные IP;
- среднюю глубину обхода;
- объём переданных данных;
- response time;
- CPU origin;
- долю cache HIT/MISS;
- число 4xx и 5xx.
Например, 500 запросов к закэшированным небольшим публикациям могут быть значительно дешевле для сервера, чем 50 обращений к тяжёлым динамическим страницам.
Как отличить PressEngineBot от обычного читателя
У автоматического crawler нет типичного поведения браузерного посетителя.
| Признак | PressEngineBot | Обычный пользователь |
|---|---|---|
| User-Agent | Содержит PressEngineBot | Chrome, Firefox, Safari и т. п. |
| Цель | Анализ coverage | Просмотр контента |
| Cookies | Пользовательская сессия обычно не нужна | Часто присутствуют |
| JavaScript-сессия | Не является ключевой | Типична |
| Конверсия | Не ожидается | Возможна |
Почему PressEngineBot может искажать аналитику
На уровне access.log каждый запрос является HTTP-hit независимо от того, человек его сделал или автоматизированный клиент.
Поэтому рост запросов PressEngineBot может увеличить:
- общий request count;
- bandwidth;
- число просмотров в серверной аналитике;
- показатель активности URL;
- нагрузку на origin.
Но это не следует считать ростом реальной человеческой аудитории.
В TrafficVeil такой трафик полезно выводить отдельно как автоматизированный.
Нежелательный ли PressEngineBot
Универсального ответа нет.
Для сайта, который никак не связан с игровой или entertainment-индустрией, бизнес-польза PressEngineBot близка к нулю. В такой ситуации владелец вполне может запретить его.
Для профильного медиа это потенциально полезный сервис.
PressEngine предупреждает, что для пользователя сервиса блокировка crawler может снизить coverage rating, а запросы review keys могут реже приниматься издателями.
Поэтому глобальную метку «всегда нежелательный» лучше заменить контекстной политикой.
Когда PressEngineBot лучше разрешить
- сайт является игровым или entertainment-изданием;
- редакция работает с PressEngine;
- важно автоматическое обнаружение coverage;
- пользователи PressEngine отправляют ссылки на публикации;
- нагрузка crawler остаётся приемлемой.
Когда PressEngineBot можно блокировать
- сайт не имеет отношения к тематике PressEngine;
- сервис не приносит никакой пользы;
- бот создаёт неоправданную нагрузку;
- источник не подтверждается по IP;
- поведение не соответствует crawl policy;
- владелец принципиально не хочет передавать данные PressEngine.
PressEngineBot в TrafficVeil
Для TrafficVeil правильнее хранить PressEngineBot как известного специализированного crawler с контекстной полезностью.
Идентификацию можно строить так:
- найти токен
PressEngineBot; - проверить полный User-Agent;
- получить исходный IP;
- сопоставить его с актуальным перечнем PressEngine;
- определить ASN;
- посмотреть посещаемые страницы;
- проверить глубину обхода;
- найти аномальные security-path;
- после этого применить allow или deny.
Как улучшить карточку PressEngineBot в TrafficVeil
| Поле | Рекомендуемое значение |
|---|---|
| Название | PressEngineBot |
| Оператор | PressEngine |
| Категория | Прочие краулеры и сервисы |
| Тип | Coverage crawler |
| Назначение | Обнаружение и проверка медиа-публикаций |
| robots.txt | Не соблюдает |
| Официальные IP | Есть |
| Для профильного медиа | Allow при подтверждённом происхождении |
| Для нерелевантного сайта | Deny допустим |
| Рекомендуемая верификация | User-Agent + IP + поведение |
Что делать, если PressEngineBot неожиданно создаёт много трафика
- Проверьте IP. Сначала убедитесь, что это действительно инфраструктура PressEngine.
- Посмотрите страницы. Для crawler ожидаемы публикации, а не административные пути.
- Оцените глубину. Официально заявлено ограничение внутреннего обхода.
- Проверьте HTTP-коды. Большое количество 404 или 5xx может указывать на проблему сайта или необычную активность.
- Измерьте нагрузку. Посмотрите CPU, bandwidth и response time.
- Определите пользу. Для профильного издания она может быть реальной, для обычного сайта — минимальной.
- Выберите действие. Allow, ограничение либо полный deny.
Сводная стратегия
| Сценарий | Рекомендуемое действие |
|---|---|
| Игровое издание использует PressEngine | Allow подтверждённому crawler |
| Entertainment-медиа заинтересовано в coverage | Разрешить при приемлемой нагрузке |
| Сайт не связан с тематикой PressEngine | Deny допустим |
| Слишком высокая подтверждённая активность | Оценить нагрузку и ограничить при необходимости |
| UA совпадает, IP не подтверждается | Не предоставлять доверенный доступ |
| Bot ищет security-sensitive пути | Рассматривать как возможный spoofing |
| Нужно гарантированно запретить crawler | TrafficVeil/WAF/серверное правило, а не robots.txt |
Итог
PressEngineBot — официальный crawler PressEngine, предназначенный прежде всего для обнаружения и проверки публикаций игровой и entertainment-прессы. Его оператор, User-Agent, назначение и IP-инфраструктура публично документированы.
Особенность PressEngineBot — два режима работы: автоматическое обнаружение материалов и обработка конкретного URL по запросу пользователя PressEngine. При автоматическом обходе бот может анализировать внутренние ссылки, но оператор ограничивает глубину тремя уровнями и заявляет, что не переходит на внешние сайты.
Ещё одно важное отличие — PressEngineBot официально не соблюдает robots.txt. Если владелец хочет гарантированно остановить обращения, потребуется TrafficVeil, WAF или серверная блокировка.
Считать бот однозначно нежелательным тоже не стоит. Для нерелевантного сайта его можно спокойно блокировать, а для игрового или entertainment-издания он может участвовать в полезном процессе обнаружения и подтверждения coverage.
В TrafficVeil оптимальный подход — проверять PressEngineBot по сочетанию User-Agent, актуального IP и поведения. Это позволяет пропускать подтверждённый crawler там, где он полезен, и не доверять клиентам, которые только подделывают известное имя.