home

Роботы, которые читают книги

bots_chitat_budete.jpg

В установке ELiS в Пермской краевой библиотеке им. Горького произошёл резкий рост трафика. Скачок произошёл в основном за счёт Москвы и дальнейшая аналитика показала, что видимо основной прирост произвели боты.

В статье описывается почему пришли к такому выводу.

Характеристика библиотеки[править]

Библиотека https://e.gorkilib.ru состоит на сегодня из 13 тыс. документов в основном краеведческого характера, 11 тыс. из которых были импортированы в ноябре 2019 (примерно за 11 месяцев до скачка) из DSpace http://arch.permculture.ru, причем сам arch.permculture.ru также имеет счетчик Яндекс.Метрики и не выводился из эксплуатации, в том числе не сильно потерял в трафике.

Т.к. большая часть книг в библиотеке - оцифрованные PDF, в ELiS есть SEO-модуль, который оптимизирован на попадание на страницы роботов, т.е. поисковые системы должны по идее присылать в библиотеку больше трафика, а за счет собственного плеера, статистика чтения снимается не только из Яндекс.Метрики, но и из встроенной системы трекинга чтения.

География[править]

Начнём с географии: библиотека в основном содержит краеведческий контент и именно его в основном и смотрели, в том числе посетители из Москвы, но контент про краеведение Пермского края и должен быть интересен прежде всего в самом Пермском крае и близлежащих Свердловской, Челябинской обл. Башкортостану и т.д.

bots_geography.png:

По факту видим скачок в сентябре-октябре именно из Москвы, в то время как из Пермского края скачка не было.

Источники трафика[править]

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

bots_sources.png

Можно убедиться, что во многом трафик определяется Москвой, это то же самое, но для посетителей из Москвы и области:

bots_sources_moscow.png

Соцсети[править]

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

bots_sources_socialnetwork.png

Можно сравнить трафик из соцсетей Москвы с областью и Перми с краем и убедиться, что трафик из Перми сравнительно мал.

bots_sources_socialnetwork_moscow_vs_perm.png

Сайты как источник трафика[править]

Каких-то явных сайтов-источников значительного трафика не выделяется:

bots_sources_sites.png

Поисковики как источники трафика[править]

Как уже было отмечено выше, поисковики после скачка уже не являются основным источником трафика (хотя в нормальных условиях именно поисковики должны в основном приносить трафик, если не применяется реклама).

bots_sources_searchengines.png

В сравнении Москвы с Пермью в Яндексе побеждает Пермь, в Google превосходство Москвы тоже не слишком велико.

Т.е. поиск не объясняет скачок трафика из Москвы.

Более того, хотя в поисковиках тоже есть видимой рост трафика, он плавный, а не резкий.

bots_sources_searchengines_moscow_vs_perm.png

Время посещения[править]

Распределение посещений по времени является железобетонным доказательством, что из Москвы трафик в основном обеспечивается ботами. Дело в том, что нормальный трафик имеет провал по ночам около 4 часов утра, в Москве же трафик по времени близок к постоянному.

bots_time_moscow_vs_perm.png

Поведение[править]

Анализ показал, что боты прикидываются людьми, открывают страницы в браузере и даже перелистывают страницы(!)

Причём трекинг активности в браузере ведётся не Яндекс.Метрика (про которую можно было бы подозревать, что она подделывается ботами и на самом деле никакой сайт не открывается), а через встроенный в ELiS механизм трекинга чтения (ELiS PlayLogs).

Показатели же по сессиям из Яндекс.Метрики и ELiS PlayLogs близки, что говорит о том, что боты действительно открывают страницы и именно в браузере, а не просто отправляют фейковые события в Яндекс.Метрику.

Характерное поведение ботов: представляются мобильными пользователями Android, заходят на 40-120 секунд и просматривают 1-2 страницы книги (для чего им необходимо делать клики на странице или скролить).

bots_reading_pdf_logs.png

IP-адреса[править]

Боты приходят из городских сетей крупнейших сотовых операторов:

bots_ip_subsets.png

Но с одного IP-адреса множество заходов не осуществляется, т.е. сеть ботов обладает множеством IP-адресов.

bots_ip.png

На сколько завышение[править]

В данном случае, чтобы прикинуть завышение, можно сравнить сколько занимает трафик Москвы и области в общем трафике. Как видно из графика, примерно 3/4 (а точнее 67%, если считать за весь год), что весьма значительно.

bots_visits_moscow_vs_all.png

Конечно, не весь трафик из Москвы является ботами, но сколько не ботами? Здесь можно дать оценку исходя из аналогичного распределения трафика на сайт http://arch.permculture.ru, с которого и была импортирована большая часть ресурсов и для которого доля Москвы с областью всего 12%.

Т.о. при грубой оценке можно считать, что всего боты накрутили 67% - 12% = 55% трафика.

bots_visits_moscow_vs_all_permculture.png

Что делать[править]

Если забанить подсети из Москвы, из которых приходит трафик, то надо понимать, что в бан попадут и обычные люди, которые действительно пришли из поиска что-бы что-то почитать. Но если решили забанить, отследите из каких сетей больше запросов и дальше можно просто на уровне nginx включить блокировку для этих сетей. Более надежно, выяснить какой автономной системе принадлежит подсеть с активностью ботов и забанить диапазон адресов всей автономной системы.

Есть более мягкий способ: активность ботов просто не учитывать в статистике. В Яндекс.Метрике для этого можно вычесть из показателей посещения из города, из которого исходит активность ботов, а чтобы посчитать книговыдачи более-менее точно в ELiS, следует написать скрипт, который удалит из таблицы elis_play_log данные по IP-адресам.

Выводы[править]

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

Для выявления активности ботов необходимо постоянно мониторить основные показатели сервисов.

В данном случае завышение посещений из-за ботов составило по оценкам 55% и имеет тенденцию на увеличение. Вместе с тем необходимо отметить, что даже с вычетом этой активности, замена DSpace на ELiS дала прирост за год с 14 тыс. посетителей до 130 тыс * 0.45 = 59 тыс. посетителей за 2020 год, т.е. суммарно на DSpace и ELiS теперь приходит в 5 раз больше посетителей.