Не так давно я писал статью про библиотеку PrettyTable (PrettyTable — вывод табличных данных в ASCII) и в процессе работы над статьей возникла идея, проанализировать схожие по тематике блоги и посмотреть, какой контент аудитории Яндекс Дзена заходит в моей нише. Использование этой библиотеки доставляло мне удовольствие и я решил опираясь на эту статью сделать небольшой проект, вдруг кому то тоже интересно практическое использование этого инструмента. По большой части эта статья больше подходит для интернет-маркетологов, блоггеров яндекс дзена и всем кто активно пишет и старается совершенствовать свои показатели на платформе.
И так, я написал инструмент для аналитики каналов в Яндекс Дзен и готов поделиться им с вами совершенно бесплатно :), не уверен что моя программа уникальна и нет аналогов, но честно сказать меня это интересовало меньше всего, я просто люблю программировать и реализовать эту идею для себя мне показалось интересным проектом в которой не жалко инвестировать время.
Программа размещена в моем репозитории github, надеюсь как им пользоваться вы знаете или в состоянии разобраться, на данный момент у меня нет готовой публикации как скачивать оттуда проекты.
Установка программы
В первую очередь необходимо склонировать репозиторий
git clone https://github.com/r4hx/YandexZen.git
Устанавливаем зависимостри
У проекта есть небольшое количество зависимостей от внешних библиотек
pip install -r requirements.txt
Использование
Чтобы запустить приложение достаточно указать единственный параметр с ссылкой на анализируемый блог
python3 app.py -u https://zen.yandex.ru/python
После выполнения программы в ваш stdout будет отображен результат работы
Сортировка данных в таблице
По умолчанию программа сортирует данные по столбцу ER. Это универсальный показатель вовлеченности в статью рассчитаный по формуле:
round((num_like + num_comment) / num_viewed * 100, 2)
- num_like — количество лайков на публикации
- num_comment — количество комментариев
- num_viewed — количество просмотров
Выбрать столбец сортировки можно с помощью указания аргумента -sпри запуске приложения.
python3 app.py -u https://zen.yandex.ru/python -s likes
В этом примере таблица с отчетом будет отсортирована по столбцу «Лайки»
Доступные значения сортировки
- er — сортировка по универсальному параметру
- likes — сортировка по количеству лайков
- comments — сортировка по количеству комментариев
- views — сортировка по количеству просмотров
- reads — сортировка по количеству дочитываний
Формат вывода данных
По умолчанию вывод данных происходит в stdout. Генерируюется читаемая ASCII таблица. Но так же существует способ писать в html. Для этого необходимо запустить программу с ключем -o
python3 app.py -u https://zen.yandex.ru/python -o html
По умолчанию вывод данных происходит в stdout. Генерируюется читаемая ASCII таблица. Но так же существует способ писать в html. Для этого необходимо запустить программу с ключем -o
Все доступные параметры приложения можно узнать запустив програму с ключем —help
Как выглядят отчеты?
Наверное только слепой не заметит, что у меня не совсем популярный канал из за сложности ниши, программирование это не шоу-бизнес и не рецепты)) поэтому многие показатели будут нулевым) а за рекламу других каналов мне никто не занес, хотя виджет личных сообщений у меня открыт на канале)))
Отчет в ASCII формате
Отчет в HTML формате

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