SmakujBot — робот сервиса «Смакуй»

SmakujBot — программа, которая собирает для каталога smakuj.by актуальные сведения о кафе и ресторанах Минска: бизнес-ланчи, цены, часы работы, акции и меню. Здесь описано, что именно робот делает, как часто приходит и как запретить ему заходить на ваш сайт.

Кто мы

«Смакуй» (smakuj.by) — информационно-справочный каталог заведений Минска: где пообедать, какие действуют акции, что в меню и сколько стоит. Мы показываем факты и всегда даём ссылку на первоисточник: сайт, Telegram-канал или Instagram самого заведения.

Связаться с нами по поводу робота: bot@smakuj.by.

Как узнать робота

Робот всегда представляется своим именем и не маскируется под браузер:

User-Agent: SmakujBot/1.0 (+https://smakuj.by/bot; bot@smakuj.by)

Что мы собираем

  • Только факты: название и состав бизнес-ланча, цены, время подачи и дни недели, часы работы, условия акций и сроки их действия, позиции меню с ценами.
  • Ссылку на источник. У каждого обеда и акции на сайте есть ссылка «источник ↗» на страницу или пост, откуда взяты сведения.
  • Короткое описание. От поста сохраняется только список блюд и условия (до ~280 знаков). Рекламный текст, эмодзи и оформление мы не копируем.
  • Фотографии с чужих сайтов мы не храним и не показываем. Картинки в карточках — иллюстрации: они показывают тип заведения, а не его блюда.
  • Персональные данные посетителей, комментарии и отзывы мы не собираем.

Откуда

  • сайты самих заведений: главная страница и страницы обеда, меню и акций;
  • публичные Telegram-каналы заведений через открытое веб-превью t.me/s/… (без входа в аккаунт);
  • Instagram-аккаунты заведений — только через официальный Instagram Graph API. Браузером Instagram мы не обходим.

Агрегаторы и каталоги других компаний источником данных для публикации не служат.

Как часто

  • Telegram-каналы и страницы обедов — дважды в день, около 09:30 и 11:30 по Минску, до двух страниц ленты канала;
  • главная страница сайта заведения (ищем ссылку на официальный канал) — не чаще раза в 14 дней;
  • поиск новых заведений — раз в неделю.

Робот делает не больше одного запроса в секунду к одному сайту и выдерживает паузу Crawl-delay, если она указана в robots.txt. Если сайт отвечает 429 или 503, робот ждёт (с учётом Retry-After) и повторяет запрос не больше трёх раз, а потом откладывает его до следующего прохода. Ответы кэшируются, поэтому одна и та же страница повторно скачивается не раньше чем через 50 минут.

Как запретить роботу заходить на сайт

1. robots.txt. Перед обходом робот читает robots.txt сайта (раз в сутки) и соблюдает правила для SmakujBot и для *. Запретить весь сайт:

User-agent: SmakujBot
Disallow: /

Запретить только часть сайта, например раздел меню:

User-agent: SmakujBot
Disallow: /menu/

Изменения начинают действовать в течение суток.

2. Письмо. Напишите на bot@smakuj.by и укажите сайт, канал или аккаунт. Мы внесём его в стоп-лист, и робот перестанет туда заходить.

3. Удалить сведения о заведении с сайта. Воспользуйтесь формой «Исправить или удалить сведения». Карточку можно скрыть целиком, тогда сборщики больше не будут записывать по ней данные.

Если robots.txt временно недоступен (сайт отвечает ошибкой 5xx или не отвечает), робот считает, что заходить нельзя, и пробует снова позже.