👨🏼‍💻Перекладываю 📊 в 🌲🇫🇮
696 subscribers
226 photos
7 videos
52 links
DA + DE = AE? @ little🇫🇮startup,
Ex Product Data Analyst @ SkyEng,
Ex Data Engineer @ Starship (delivery robots),
Ex Data Analyst @ EPAM,
Я НЕ РАЗМЕЩАЮ РЕКЛАМУ,
Личка открыта https://t.me/jarikor ,
(надо нормальное название каналу придумать)
Download Telegram
Замерил сколько времени занимает сбор постов с пабликов разного размера.

Пока всё пределах допустимого, но при работе с большими пабликами надо будет перепроверять всё по несколько раз, т.к. одна ошибка будет стоить дофига времени, чтоб повторить запрос после ошибки.
Стал собирать статистику с каждого поста в паблике. Циклом for i in items.

На 76 посту словил ошибку.
Посмотрел этот пост — а он старый, со времён, когда ещё не было статистики просмотров на постах.

Теперь надо делать либо проверку значения, либо обработку исключения. Хм.
Ошибку по наличию 'views' обработал, пришлос чуток подход к запросам по ключам изменить, но вышло хорошо, как по мне. Днём покажу.
Из интересного на сегодня — покажу, пожалуй, алогоритм.

Сначала я встрял на том, как правильно подступиться к запросам по ключам. Головой понимал КАК ЭТО ПРОВЕРНУТЬ, но не ясно представлял.

Сел, в итоге, и прописал алогоритм. Чтоб без схемы, прям текстом набросал.

И по алгоритму собрал пробную инструкцию. Потом цикл, а потом завернул и в функцию.

Что получилось — покажу днём, уже измотался, устал.

Короч, как говорит Сергей — если тупишь, остановись, выдохни, задай себе вопрос "что ты хочешь получить в итоге" и напиши понятный алгоритм.

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

В целом - время на огромные паблики (а последний паблик - это МДК) не критичное.
Срезы по значениям тоже работают исправно
Мало собрать данные по постам в паблике.
Надо понять, что с этими данными потом делать.

Например:
1) разбить посты по категориям, в зависимости от количества лайков. И пометить их в отдельном столбце.
Так можно будет посмотреть КАКОЕ СОДЕРЖИМОЕ собирает больше лайков в конкретном паблике.

2) построить график количества лайков от месяца, дня недели. Если у нас достаточно данных (за несколько лет), то можно будет узнать, есть ли коррелляция между месяцем (т.к. месяц определяет сезон, праздники, контекст поведения), днём недели (день недели тоже определяет контекст поведения) и собственно самим поведением подписчиков (лайки, комменты, репосты).
🔥Оооооо, какая красота получилась в аналитике!

Очень интересные наблюдения. Ща покажу.
Обзорная стата по годам и активностям
Паблик ведёт деятельность непрерывно и активно с 2017 года.

В паблике 148 843 подписчиков на данный момент, и около 7 тысяч постов.
🔥И что интересно — посмотрите на график лайков и репостов. Они совпадают. Логично, пост выложили, набежали, полайкали, и отрепостили сразу.

А вот комменты...

Смотрите, пик комментов не совпадает с пиками лайков и репостов.

Либо по вторникам публикуют посты, которые заточены под механику комментирования. Очень хочется подумать, что по вторникам народ пробивает на "по-болтать". Но причина скорее всего скучная и рациональная.

Можно разложить посты по дням и по годам, посмотреть, сохраняется ли такой же тренд каждый год, или это последние два года так повлияли (т.к. паблик за последние два года вырос с 50 тыс до 150 тыс подписчиков. На сотку. Или даже больше).
Новая модификация скрипта — теперь он может собирать любое количество пабликов, заданное в константе. Пока это просто короткий скрипт, в функцию не завёрнут, но уже работает исправно.

Также добавил сбор from_id, чтобы можно было сортировать посты на "опубликованные от имени паблика" и "опубликованные в паблике, но с указанием авторства", чтобы можно было собрать статистику по авторам контента.

И, например, определить самых активных, или самых залайканых (хороших) авторов.

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

И вообще портянка.