Что читали на Хабре в 2024 году: анализ статей с Node.js, Google Sheets и каплей ChatGPT
- четверг, 19 декабря 2024 г. в 00:00:16
Сегодня расскажу вам одну занимательную историю о том, как я решил сделать что-то полезное и интересное, а заодно чуть-чуть облегчить жизнь всем нам, кто регулярно зависает на Хабре. Ведь сколько здесь данных? Очень много! Статьи, комментарии, рейтинги... Всё это крутится вокруг нас, но как это можно использовать для анализа и выводов?
Всё началось с простого вопроса: «Как узнать, какие статьи на Хабре самые популярные?» Казалось бы - просто посмотреть на рейтинг или количество просмотров? Но ведь тут есть куча нюансов: например, у некоторых статей большой рейтинг, но они почти не комментируются. Или наоборот – комментов много, а рейтинга нет.
В общем, я решил выйти за рамки простого просмотра и создал систему для анализа данных Хабра за 2024 год. Использовал Node.js для парсинга, Google Таблицы для анализа и даже задействовал нейронную сеть, чтобы выявить скрытые тенденции.
Я подумал что Node.js будет отличным выбором для парсинга Хабра благодаря своей скорости. Большое количество запросов обрабатывается быстро, не зависая на ожидании ответов. А пакеты вроде axios и cheerio упрощают работу с HTML. И если что-то пойдёт не так, всегда можно подключить Puppeteer для работы с динамическим контентом.
Перед парсингом я изучил структуру страниц Хабра. Выяснил, что внутри HTML-разметки вставлен JSON с нужными параметрами: автор, дата, просмотры, рейтинг. Это упростило задачу - данные легко извлекать. Однако скрытого API я не нашёл, поэтому пришлось работать напрямую с HTML.
Мой код парсера можно посмотреть на Гитхабе.
Для каждой статьи собирал параметры:
идентификатор публикации
дату и время публикации
автора публикации и его значение кармы
обозначение корпоративный блог или нет
название публикации
хабы
потоки
краткое описание
просмотры
комментарии
закладки
рейтинг
голосование за рейтинг плюс
голосование за рейтинг минус.
Но записывал в итоговый CSV файл только те статьи, у которых рейтинг был больше чем +30 или же они набрали больше 30 тысяч просмотров:
// Пример фильтрации статей по рейтингу и просмотрам
const isPopular = (rating, views) => rating > 30 || views > 30000;
articles.filter(article => isPopular(article.rating, article.views));
На периоде с 15.12.2023 по 15.12.2024 подошли под условия и были успешно обработаны:
4 434 статей.
Те статьи, которые не подходили под эти условия - отбросил: 29 470 статей не подошли под эти условия.
И при простом переборе 52 090 идентификаторов никак не отозвались - то есть ошибка.
Полный лог поиска выложил на Гитхабе.
После парсинга нужно было анализировать данные. Я выбрал Google Таблицы: это удобно, быстро и доступно из любого места. Функция QUERY позволяет строить запросы, как в базе данных - фильтровать, сортировать, агрегировать. Для задачи с рейтингами и просмотрами это идеальный инструмент, который не требует сложных настроек или дополнительного ПО.
Полностью вся таблица вот здесь.
Проблема возникла только с хабами и потоками - ведь одна статья может находится сразу в нескольких хабах, а я не очень понял как выделить самые популярные за последний год хабы. Но вы можете подхватить мою эстафету по анализу, тем более все данные открыты в этой таблице.
Для выборки самых популярных статей получились простые формулы. Например топ просмотров:
=QUERY(Data!A:N; "select A,C,E,I order by I desc limit 15"; 1)
Топ просмотров за последний год на Хабре:
Топ-статьи по просмотрам за год удивляют: в первой строчке - материал, явно «накрученный» по просмотрам. Метрики не совпадают, но 628 тысяч кликов — внушительно.
Следом идут технические темы, которые волнуют аудиторию: настройка GoodbyeDPI, YouTube. Людей также цепляют необычные кейсы — как заработать миллионы или распознать рак по ранним признакам.
Анна, @AnnMaslova, карма 3
[ТОП-28] Нейросети, боты и сайты, которые помогут раздеть девушку по фото, 628 524 просмотров
Ваня, @sanior1231, карма 13
Как починить GoodbyeDPI, если он перестал работать 22.09.24, 486 207 просмотров
Ваня, @sanior1231, карма 13
GoodbyeDPI перестал работать новый фикс 10.10.24, 472 192 просмотров
Вячеслав Голованов, @SLY_G, карма 1017
Признаки рака можно заметить за несколько лет до появления симптомов, утверждает новый исследовательский институт, 467 198 просмотров
Даниил, @Noelhhh, карма 1
Настройка GoodByeDPI для разных регионов и провайдеров, 390 399 просмотров
Ваня, @sanior1231, карма 13
4 способа починить goodbyeDPI, как восстановить доступ к YouTube, 366 743 просмотров
Денис, @denis-19, карма 851
Пользователи сообщили, что YouTube заработал в России без ограничений по замедлению у некоторых провайдеров, 337 763 просмотров
@akibkalo, карма 157
Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?, 323 937 просмотров
MediaMetriqa, @MediaMetriqa, карма 13
Hamster Kombat. Сколько ты реально заработаешь? Вся правда. Большой разбор проекта, токена HMSTR и команды, 315 010 просмотров
Слава Рюмин, @slava_rumin, карма 209
Как я склеил картон и продал на маркетплейсах на 50 млн в год, 296 146 просмотров
Закиров Дамир, @zakirovdamir, карма -10
Пирамида Хеопса — это дошедшая до нас часть конструкции (основание) действовавшего 10к+ лет назад космического лифта, 274 052 просмотров
Денис, @denis-19, карма 851
YouTube делает «всё возможное» для ускорения сайта в России — пользователи заметили плашку на главной видеохостинга, 269 964 просмотров
Денис, @denis-19, карма 851
Пользователь обнаружил, что его стиральная машина LG потребляет 3,66 ГБ трафика в сутки (97% на процесс Upload), 266 710 просмотров
Слава Рюмин, @slava_rumin, карма 209
Как я зарабатывал 13 млн в год на любителях пассивного дохода, 253 295 просмотров
Дмитрий Лейкин, @freehabr, карма 80
Docker hub перестал работать в России, 233 946 просмотров
Топ комментариев за последний год на Хабре:
Темы, которые больше всего взволновали аудиторию Хабра - это общественные и социальные вопросы. Лидирует статья о нежелании молодёжи рожать: 2 450 комментариев. Активно обсуждали исключение российских разработчиков из Linux (1 709 комментариев), проблемы высшего образования, блокировку YouTube и будущее пенсионной системы. Технические темы в топе оказались реже, но тоже вызвали живой отклик.
@neskuchan, карма 22
Почему молодежь не хочет рожать и причём тут система образования, 2 450 комментариев
Денис, @denis-19, карма 851
Торвальдс прокомментировал исключение российских разработчиков из списка мейнтейнеров Linux по указанию юристов, 1 709 комментариев
@rezsoseres, карма 10
Реальная Грузия: грустные факты, которые вас разочаруют, 1 372 комментариев
Джон Смит, @alan008, карма 75
Как Яндекс убивает такси как явление, 1 215 комментариев
Антон Назаров, @m0rtymerr, карма 15
Нужна ли айтишнику вышка? Инфоцыганство от государства, 1 193 комментариев
@seniorjoker, карма 3
Корпоративный куколдизм, 1 150 комментариев
Deleted user, @Deleted-user, карма 66
Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги? 1 140 комментариев
Профсоюз, @it_union, карма 283
О блокировке Youtube, 1 072 комментариев
@TraPhro, карма 20
Конец эпохи транспортных средств с двигателями внутреннего сгорания? 1 034 комментариев
@finindie, карма 118
Будет ли пенсия у родившихся в восьмидесятых? 987 комментариев
Профсоюз, @it_union, карма 283
Айтишницы, айда рожать, 965 комментариев
Васьен, @Vasjen, карма 61
Почему с каждой новой версией Windows от нее усиливается усталость, 909 комментариев
@Keenet, карма 22
Установка программы модификации сетевых пакетов NFQWS на роутер Keenetiс, 903 комментариев
Павел Комаровский, @RationalAnswer, карма 465
Заморозка банковских вкладов в России: разбираемся, какие предпосылки для этого есть, 894 комментариев
Анатолий Ализар, @alizar, карма 1077
Почему свободного времени всё меньше, если производительность труда растёт?, 870 комментариев
Топ закладок за последний год на Хабре:
В топе закладок на Хабре - вечные вопросы саморазвития. Как скачать Office? Как выучить английский? Как решить 600 задач на Leetcode? Но мой любимый герой — человек, который решил не откладывать жизнь на потом. Чтобы начать жить «прямо сейчас», он добавил соответствующую статью в закладки. Видимо, начнёт завтра. А пока — английский, NAS и VPN.
@akibkalo, карма 157
Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда? 1 162 закладок
@Foppa, карма 18
Пацанский английский. Ленивый способ наконец выучить английский язык: без курсов, без зубрежки, бесплатно, 1 065 закладок
Suleiman Dibirov, @idsulik, карма 34
Сказ о том, как я за год решил более 600 leetcode задач, 990 закладок
Рубцов Иван, @user_a, карма 40
Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на экзамене IELTS Academic, 949 закладок
Киберия, @cyberia_studio, карма 11
Почти все, что вы хотели бы знать про Docker, 753 закладок
@AmneziaAdept, карма 106
Вы нас просили и мы сделали. VPN на собственном сервере с XRay Reality за 5 минут с помощью Amnezia, 744 закладок
@taydvax, карма 26
Как работает интернет, 742 закладок
Дмитрий Дударев, @Dudarion, карма 216
Самое понятное объяснение Специальной теории относительности, 737 закладок
Neo Davinchi, @quakin, карма 76
Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1), 733 закладок
Михаил Веткин, @mikevetkin, карма 19
Obsidian — Notion свободного человека, 731 закладок
Даниил Тутубалин, @DandyDan, карма 50
Регулярные выражения простыми словами. Часть 1, 718 закладок
@itdog, карма 157
Какой роутер для OpenWrt купить в 2025 году? 716 закладок
Сергей Парамонов, @varagian, карма 339
Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации, 710 закладок
Дмитрий Литвин, @Captain_Jack, карма 66
Микросервисы в представлении среднего разработчика, и как всё на самом деле, 685 закладок
@Tirarex, карма 138
Собираем бюджетный домашний NAS на 14 ТБ, 655 закладок
Топ рейтинга за последний год на Хабре:
В топе рейтингов - статьи про iPhone, микросхемы, блокировку YouTube и неожиданные провалы безопасности. Люди активно голосовали за разбор осьминога и ремастеринг "Тома и Джерри".
@acc0unt, карма 214
Зачем в iPhone чип, который убивает FaceID, рейтинг 758
Забанен бессрочно, @Grigory_Otrepyev, карма 264
Российская микроэлектроника — два года спустя, рейтинг 599
@olegdelone, карма 81
Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках, рейтинг 543
Сергей Абдульманов, @Milfgard, карма 1940
Разбираем осьминога, рейтинг 540
Антон Поляков, @LightTool, карма 301
Когда обманули во всем: изучаем фейковый планшет, которым забиты маркетплейсы, рейтинг, рейтинг 520
Вячеслав Шелковников, @slavashel, карма 51
Об инциденте с NTP-серверами, рейтинг 493
Антон Бочкарев, @Antxak, карма 139
Я тебя найду и позвоню, рейтинг 488
Профсоюз, @it_union, карма 283
О блокировке Youtube, рейтинг 480
Aleksandr Litreev, @alxdrlitreev, карма 80
Обновлено: Как я обнаружил проблемы у ЮМани (Сбербанк) с безопасностью и не получил денег за найденную уязвимость, рейтинг 472
@rapiq, карма 95
Выгодоприобретатели блокировки Youtube, рейтинг 459
@kkursor, карма 107
Катастрофа в российской зоне проекта NTPPool.org, рейтинг 454
Вячеслав, @petuhoff, карма 171
Как американская коррупция превратила физика-ядерщика в быдло-кодера, рейтинг 417
@Realife, карма 140
Как я сделал ремастер всех серий Том и Джерри в 2к всего за пару месяцев, рейтинг 387
Дмитрий Дударев, @Dudarion, карма 216
Самое понятное объяснение Специальной теории относительности, рейтинг 383
Константин Рисков, @riskov, карма 139
Программисты всё вымирают и вымирают, рейтинг 374
Дополнительно я сделал топ неоднозначных статей, которые популярны, но собрали большое число минусов. Можно посмотреть всё в той же табличке.
Лучшие частные авторы по количеству статей
UPD. Павел Комаровский @RationalAnswer справедливо заметил, что были допущены ошибки при подсчёте рейтинга авторов. Поскольку парсинг шёл более суток, а за него голосовали в это время, то в таблице он записался под разными именами:
Павел Комаровский, @RationalAnswer, карма 465
Павел Комаровский, @RationalAnswer, карма 466
Павел Комаровский, @RationalAnswer, карма 467
Чтобы исправить это в таблице удалил через регулярные выражения в Notepad++
всю карму у всех авторов и рейтинг обновил:
В списке лучших частных авторов - люди с сотнями тысяч просмотров и высокими рейтингами. Все отмечены как частные, но среди них явно есть сотрудники Хабра и корпоративные аккаунты, скрывающиеся под личинами обычных пользователей. Кто-то пишет по 227 статей в год - это трудолюбие или KPI?
Денис, @denis-19
227 публикаций за год 62 258 в среднем просмотров на статью, 5 440 суммарное количество закладок, 34 средний рейтинг на статью.
Вячеслав Голованов, @SLY_G
70 публикаций за год 48 334 в среднем просмотров на статью, 2 696 суммарное количество закладок, 40 средний рейтинг на статью.
@PatientZero
68 публикаций за год 22 595 в среднем просмотров на статью, 7 094 суммарное количество закладок, 72 средний рейтинг на статью.
Слава Рюмин, @slava_rumin
45 публикаций за год 92 102 в среднем просмотров на статью, 4 790 суммарное количество закладок, 114 средний рейтинг на статью.
Профсоюз, @it_union
44 публикаций за год 39 253 в среднем просмотров на статью, 2 450 суммарное количество закладок, 93 средний рейтинг на статью.
@maybe_elf
34 публикаций за год 44 723 в среднем просмотров на статью, 515 суммарное количество закладок, 27 средний рейтинг на статью.
Олег Сивченко, @OlegSivchenko
29 публикаций за год 9 507 в среднем просмотров на статью, 1 123 суммарное количество закладок, 51 средний рейтинг на статью.
Забанен бессрочно, @Grigory_Otrepyev
27 публикаций за год 42 440 в среднем просмотров на статью, 2 094 суммарное количество закладок, 88 средний рейтинг на статью.
@LizzieSimpson
25 публикаций за год 52 427 в среднем просмотров на статью, 342 суммарное количество закладок, 31 средний рейтинг на статью.
@AnnieBronson
24 публикаций за год 46 819 в среднем просмотров на статью, 297 суммарное количество закладок, 34 средний рейтинг на статью.
Даниил Шатухин, @daniilshat
22 публикаций за год 37 455 в среднем просмотров на статью, 771 суммарное количество закладок, 35 средний рейтинг на статью.
Cat.Cat, @Catx2
17 публикаций за год 13 984 в среднем просмотров на статью, 721 суммарное количество закладок, 71 средний рейтинг на статью.
Sergei Kushnirenko, @dalerank
16 публикаций за год 24 339 в среднем просмотров на статью, 1 673 суммарное количество закладок, 66 средний рейтинг на статью.
Павел Комаровский, @RationalAnswer
16 публикаций за год 50 868 в среднем просмотров на статью, 1 099 суммарное количество закладок, 77 средний рейтинг на статью.
@CatScience
15 публикаций за год 23 758 в среднем просмотров на статью, 881 суммарное количество закладок, 81 средний рейтинг на статью.
Лучшие корпоративные авторы по количеству статей
Лучшие корпоративные авторы — это настоящие контент-машины. У кого-то 106 публикаций в год, у кого-то — тысячи закладок на каждую статью. Среди них эксперты, превращающие сложное в понятное, и PR-отделы, прокачавшие бренд через полезные тексты. Каждый из них мастерски играет на стыке маркетинга, экспертизы и истории.
@ru_vds
116 публикаций за год 18 368 в среднем просмотров на статью, 10 999 суммарное количество закладок, 65 средний рейтинг на статью.
Дмитрий Брайт, @Bright_Translate
99 публикаций за год 16 056 в среднем просмотров на статью, 8 354 суммарное количество закладок, 70 средний рейтинг на статью.
@Seleditor
91 публикаций за год 18 601 в среднем просмотров на статью, 2 570 суммарное количество закладок, 50 средний рейтинг на статью.
Denis, @DRoman0v
59 публикаций за год 16 011 в среднем просмотров на статью, 1 751 суммарное количество закладок, 49 средний рейтинг на статью.
@DAN_SEA
45 публикаций за год 13 595 в среднем просмотров на статью, 3 054 суммарное количество закладок, 64 средний рейтинг на статью.
Алексей Костенков, @Erwinmal
45 публикаций за год 13 068 в среднем просмотров на статью, 2 315 суммарное количество закладок, 66 средний рейтинг на статью.
Гитарная электроника, @Lunathecat
45 публикаций за год 10 190 в среднем просмотров на статью, 1 632 суммарное количество закладок, 50 средний рейтинг на статью.
Анатолий Ализар, @alizar
44 публикаций за год 27 953 в среднем просмотров на статью, 4 539 суммарное количество закладок, 79 средний рейтинг на статью.
Богдан, @bodyawm
43 публикаций за год 15 606 в среднем просмотров на статью, 2 441 суммарное количество закладок, 70 средний рейтинг на статью.
@GeeksCat
35 публикаций за год 9 978 в среднем просмотров на статью, 1 098 суммарное количество закладок, 47 средний рейтинг на статью.
Сергей, @BabayMazay
33 публикаций за год 9 987 в среднем просмотров на статью, 1 779 суммарное количество закладок, 98 средний рейтинг на статью.
Лев, @MaFrance351
30 публикаций за год 10 948 в среднем просмотров на статью, 1 297 суммарное количество закладок, 77 средний рейтинг на статью.
Дарья Волкова, @divolko3
28 публикаций за год 25 999 в среднем просмотров на статью, 1 057 суммарное количество закладок, 43 средний рейтинг на статью.
Александр Семенов, @shiru8bit
24 публикаций за год 12 189 в среднем просмотров на статью, 1 435 суммарное количество закладок, 92 средний рейтинг на статью.
Стас Мельников, @melnik909
24 публикаций за год 8 325 в среднем просмотров на статью, 1 988 суммарное количество закладок, 46 средний рейтинг на статью.
На мой взгляд, все эти статьи выше - крайние всплески интереса, а некоторые статьи, как выяснилось, искусственно «разогреты», включая статью с самым большим количеством просмотров.
Поэтому я решил взять темы всех 4 434 публикаций, количество просмотров, прогнать их через искусственный интеллект и выделить 50 самых популярных тем. Это честный способ понять, что действительно волнует читателей.
Правда с ChatGPT такой фокус мне сделать не удалось - поэтому я обратился к Gemini.
Вот мой промт:
Действуй как профессиональный аналитик и маркетолог, тебе дали выборку тем статей на ресурсе за 1 год. Это выборка статей с рейтингом больше +30 или количеством просмотров больше 30000.
Хабр — русскоязычный веб-сайт в формате системы тематических коллективных блогов (именуемых хабами) с элементами новостного сайта, созданный для публикации новостей, аналитических статей, мыслей, связанных с информационными технологиями, бизнесом и интернетом.
Столбец title - название статьи
Столбец views - количество просмотров у статьиВыбери 50 тем, которые набирают больше всего просмотров. Не конкретные статьи, а обобщенное название о чём эти статьи. Например веб-разработка или настройка обхода блокировок. Я хочу знать какие обобщенные темы популярны.
Получил вот такой ответ от Google Gemini:
Анализируя предоставленные данные, вот 50 самых популярных обобщённых тем статей с Хабра, основанных на сочетании количества просмотров и вовлечённости (подразумеваемой вероятной длиной/детализацией темы) за период в один год. Отфильтрованы крайне узкоспециализированные элементы, сделан акцент на более широкие темы.
Настройка обхода блокировки
Обзоры компьютерного оборудования
Проекты DIY-электроники
Ретро-вычисления/игры
Программное обеспечение/проекты с открытым исходным кодом
Администрирование/управление сервером
Облачные вычисления
Языки программирования (Python, Go, C++, JavaScript, Rust)
Операционные системы (Windows, Linux, macOS)
Ремонт оборудования/устранение неполадок
Разработка мобильных устройств
Разработка встроенных систем
Монтаж/обработка видео (ffmpeg и т. д.)
Сети/маршрутизаторы
Уязвимости безопасности/атаки
Сравнение оборудования/программного обеспечения
3D-печать
FPGA/микроконтроллеры
Хранение данных/резервное копирование
Технологии баз данных (PostgreSQL, MySQL и т. д.)
Цифровое проектирование/проектирование схем
Большие языковые модели (LLM)
ИИ в повседневной жизни/приложениях
ИИ для бизнеса
ИИ в играх
Контент, генерируемый ИИ (изображения, текст и т. д.)
Алгоритмы машинного обучения
Учебники/руководства по кодированию
Веб-разработка (общая)
Тестирование ПО
Собеседования по проектированию систем
Технические собеседования
Советы по карьере/рынок вакансий в сфере ИТ
Управление проектами в сфере ИТ
Командная работа/сотрудничество
Лучшие практики по разработке ПО
Оптимизация производительности (общая)
Разработка/использование API
Проблемы/конкурсы по кодированию
Экономика ИТ/тенденции в сфере бизнеса
Обсуждение заработков/зарплат (в сфере ИТ)
Удалённая работа/баланс между работой и личной жизнью
Стартапы/истории неудач
Аутсорсинг/офшоринг
Правовые вопросы/корпоративная политика
Исследование космоса/технологии
Научные открытия/исследования
Физика/инженерия
Комментарии о тенденциях/новостях ИТ-индустрии
Социальные комментарии/мнения о технологиях
Примечание: Некоторые темы могут немного пересекаться. Список ориентирован на ясную и широкую категоризацию, отражающую наиболее часто обсуждаемые темы. Конкретные статьи, попадающие под одну и ту же общую тему, могут со временем менять свою популярность.
Это был конец ответа Google Gemini.
Что вы думаете об таких выводах? Насколько они правдивы?
Частные авторы рулят, техника и ИИ в тренде, а социальное всё ещё будоражит.
Какой совет можно дать начинающим авторам на Хабре? Данные говорят: фокусируйтесь на конкретных технических проблемах, практических решениях и "человеческом" стиле. Узкие ниши, интересные заголовки – залог успеха. Данные показывают, что статьи, посвященные конкретным техническим проблемам (например, настройка GoodbyeDPI, решения проблем с YouTube) или социальные темы (проблемы с молодёжью, высшим образованием) получают огромный интерес. Найдите свою специализацию и углубляйтесь в неё.
Что вы думаете о моих выводах? Что бы вы хотели изучить подробнее?
Автор: Михаил Шардин,
18 декабря 2024 г.