Пульс Хабра
callidus77: Помница в нашей сетке монтажники подключали абонента. Пришли, воткнули сетевуху, а у него Фря и дров нету. Почесали головы и ушли. Чел через три недели наконец-то коннектится.Грят: «Долго ж ты искал дрова.«Он: «Я не искал. Я их сам написал.» Баш
Наверное, каждый автор трепетно следит за судьбой своих статей, такому автору на хабре всегда чего-то не хватает. Мне всегда не хватало инструментов наблюдения за статьями — поэтому я и решил их написать.Под катом мы разберемся с основными инструментами ресурса и потенциальной возможностью применения. Весь инструментарий доступен по адресу http://www.habr-analytics.com, исходный код (основные функции) на github. За примерами и деталями — добро пожаловать под кат!
Структура статьи
Пульс Хабра Монитор статей Анализ пользователей Пересечение хабов — диаграммы Венна Аудитория хабов Исходный код и структура проекта Заключение *Осторожно трафик*
Пульс Хабра Пульс — один из наиболее интересных индикаторов, он показывает динамику чтения хабра (точнее статей в «Новом»). Между точками фиксированный интервал в семь минут (плюс-минус минута). На графике ниже можем наблюдать уровень активности в ночь с воскресенья на понедельник. Хорошо видно, что статьи в понедельник утром читают в четыре раза активней, чем в ночь с воскресенья на понедельник (чего и следовало ожидать, но мы заранее не знаем «насколько» больше читают в понедельник утром)В чем смысл? Потенциальное применение: выбор времени для отправления статьи. Чем активнее люди читают хабр, тем больше шансов, что статью увидят. Соответственно, если индикатор в данный момент низкий, то возможно стоит пересмотреть время отправления статьи.Доступен по адресу: www.habr-analytics.com/pulse
Монитор статей Пожалуй, это одна из функций, которой мне настолько не хватало, что отдельно бы ещё написал в виде standalone приложения (если вы тоже считаете, что это отличная идея — напишите в саппорт пусть вернут стену выдадут мне уже токен для API — идеально бы интегрировать эту функцию в Хабр).Вкратце, следим за изменением просмотров, избранного и репостов в соц сетях (ВК, FB, Twitter) во времени. Интерфейс простейщий: выбираем статью из списка, тип данных и жмем кнопку «Построить График».В репертуаре статьи за последние два дня (на самом деле за последние 52 часа).
Доступно по адресу: www.habr-analytics.com/monitor
В качестве примера, графики для хабра-статьи «С Днем Рождения, Элон Маск»: Просмотры: С Днем Рождения, Элон Маск»: Избранное: С Днем Рождения, Элон Маск»: Репосты в соц сетях: С Днем Рождения, Элон Маск»: Для свежих статей число измерений меньшее (так как измерения происходят каждые семь минут), поэтому графики внешне выглядят немного по-другому:
Статья : «Не лей мне соль в реактор или не-импульсные ядерные ракетные двигатели» через 5–6 часов после появления.
Просмотры: Не лей мне соль в реактор или не-импульсные ядерные ракетные двигателиИзбранное: Не лей мне соль в реактор или не-импульсные ядерные ракетные двигателиРепосты в соц сетях: Не лей мне соль в реактор или не-импульсные ядерные ракетные двигатели
Для сравнения график просмотров этой же статьи через 27 часов
В чем смысл Наблюдать за динамикой чтения статьи: перестали ли читать статью, после того как она ушла из «лучшее за сутки»? (Чаще всего мы видим, что просмотры выходят на константу после 24-х часов.) В какой сети статья распространяется быстрее и активней? Как изменяется динамика после выхода на главную? В целом, монитор даёт интегральный слепок распространения статьи в сети.
Анализ пользователей Кому не интересно посмотреть свою «историю» на Хабре? Ну или ещё чью-нибудь; обычно, открываешь профиль и видишь всего лишь сухую пару строк: столько-то написал, зарегистрировался тогда-то и всё. Мне всегда это казалось чем-то не слишком интересным и пришла идея — визуализировать историю пользователя.Интерфейс предельно простой — имя пользователя, тип данных и большая кнопка.
Приведем для примера графики для пользователя lozga — просто потому, что получается довольно красиво: одни «взлеты» и «падения».
«Анализ пользователей» доступен по адресу: www.habr-analytics.com/user
Рассмотрим графики чуть детальней: ПросмотрыРейтингИзбранное
Бонус: график просмотров для PapaBubaDiop (большой пик — это тот самый пост про «Поле Чудес»)
Зачем это нужно? С одной стороны позволяет взглянуть на историю своих статей на хабре; с другой, это гораздо более информативная подача профиля во времени, чем пара финальных чисел.Пересечение хабов — диаграммы Венна Не задумывались, что выбирая второй или третий хаб для статьи, вы вполне можете не покрывать новой аудитории? Для того, что убедиться в том, что хабы не пересекаются и сделана эта функция. Необходимо выбрать два или три хаба и кликнуть на большую кнопку.Доступно по адресу: www.habr-analytics.com/venn
Для данной функции так же имеется standalone версия с расширенным функционалом (например, с работой с хабами компаний) и хабра-статья с описанием: исходники (python) и исполняемые файлы для Windows, Linux и MacOS (все библиотеки включены).
python скрипт venn.py и папка src/; необходимо установить библиотеки: pip install beautifulsoup4 progress urllib3 matplotlib_venn venn.exe для Windows venn.elf для Linux venn.osx для Mac OS Аудитория хабов Данная функция дает представление о предпочтениях читателей определенного хаба по отношению сразу ко всем остальным хабам.Необходимо выбрать хаб и результат — гистограмма предпочтений читателей, то есть, что еще читают читатели данного хаба, в процентах от числа подписчиков исходного хаба.Доступно по адресу: www.habr-analytics.com/audience
Для данной функции имеется так же standalone версия с расширенным функционалом (например, с работой с хабами компаний) и хабра-статья с описанием: Исходные данные под названием hubs доступны на github, там же доступны исполняемые файлы для
Исходный код и структура проекта Основной (сбор данных, запись в базы данных, генерация графиков и т.д.) код проекта доступен на github.(выше приведен код функции monitor).Так как скорее всего сайт ляжет от хабра-эффекта заранее вангую шутки в духе: у Хабра не прощупывается пульс или у пульса не прощупывается Хабр.
Но на самом деле это не страшно, если мы рассмотрим схему проекта, то заметим, что сбор данных, хранение и представление данных разнесены и пользователь только взаимодействует с интерфейсом отображающим графики, но это никак не влияет на сбор, хранение и представление данных.То есть после того как хабра-волна пройдет все данные будут в порядке.
Технические детали: всё работает на PaaS Heroku, в виде двух приложений; оба на Flask; интерфейс: Flask+Bootstrap3; хранение данных mongoHQ и memcached. Сборщик данных парсит хабр, потому как доступ к API почему-то не дают (по крайней мере пока).
Заключение Проект, безусловно, не идеален и ему требуется тысяча и одна правка. И, возможно, вы разбираетесь в верстке, обработке данных или веб-разработке и хотите помочь? Советы, идеи и помощь в разработке только приветствуются.Есть идеи, что еще нужно реализовать? Ждем-с в комментариях и\или через любой другой канал связи.