Скачал базу пользователей vc.ru и составил рейтинги

Про техническую реализацию расскажу в конце. Перейдем сразу к результатам. Сейчас на vc.ru 545 444 пользователей (еще 164 удалены). Написали хотя бы одну статью 16 852 человека, только комментируют 119 703 человека.

Сегментация пользователей vc.ru Denis Silantev

Распределение довольно логично. Давайте теперь перейдем к рейтингам. Аккаунты с самой большой кармой:

Топ-10 пользователей vc.ru по карме Denis Silantev

Видно, что Альберт Хабибрахимов заслужено занимает первое место, сделав самый большой вклад среди всех — 6288 статей!

Из интересного можно заметить, что последний в списке попал в топ за счет комментариев, а не публикаций. В топ-100 таких деятелей гораздо больше. Вывод: для поднятия кармы проще всего строчить комментарии. На мой взгляд, за публикации нужно давать x2, чтобы стимулировать авторов.

Сравнение количества комментариев и публикаций у пользователей с большой кармой Denis Silantev

С победителями все понятно, кто же попал в антирейтинг?

Топ-10 пользователей с самой низкой кармой Denis Silantev

Начнем с того, что на шестом месте расположился «Яндекс.Маркет» b2b! Судя по странице, большая часть кармы упала на одном скандале. Вернемся к победителям. Михаил Фадеев занимает первое место с большим отрывом, но, честно говоря, его нельзя назвать самым крутым троллем, ведь количество комментариев тоже больше, чем у всех.

Чтобы все-таки выяснить, чьи комментарии самые «ядовитые», сортирую по отношению кармы к количеству комментариев и отсеиваю случайных (у кого меньше десяти комментов).

Топ-10 хейтеров по отношению кармы к количеству комментариев Denis Silantev

Поздравляю Андрея, который за 34 комментария смог заработать почти -1000 кармы! Андрей, если ты это читаешь, приглашаю тебя в комментарии.

Давайте теперь посмотрим, кто самый интересный писатель. Для этого сортируем по количеству подписчиков.

Топ-10 пользователей по количеству подписчиков Denis Silantev

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

Еще интересно, что у Support inDriver нет публикаций, но много подписчиков. Ищу похожих (0 публикаций и больше 0 подписчиков). Оказывается, таких страниц аж 2686 (0,5%). Предполагаю, что кнопку подписаться используют как избранное.

По предложению Евгения Данилова добавляю рейтинг людей с самыми заплюсованными комментариями (карма/комментарии и 0 публикаций):

Топ-10 пользователей vc с самыми заплюсованными комментариями (0 публикаций) Denis Silantev

Посмотрел несколько аккаунтов, все они неплохо пошутили.

Техническая реализация

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

У vc.ru и других блогов группы есть API. Если вкратце, через него можно получить статьи, комментарии, пользователя по ID, создать запись.

Раз нельзя запросить сразу несколько пользователей, решил скачивать по одному. Делая запрос раз в 251мс (vc.ru разрешает до трёх запросов в секунду), ID отправлял от одного до тех пор, пока не закончатся. Как язык программирования взял Node.js, но проще было бы использовать что-то синхронное. Например, PHP.

Проект можно скачать здесь:

Тех, кто будет реализовывать самостоятельно, должен предупредить, что в документации к API есть ошибки. Для текущего проекта достаточно знать, что по запросу user/{id} ответ в документации (слева) отличается от настоящего (справа):

Отличие ответа в документации к API vc.ru и реального на запрос user/{id} Denis Silantev

По другим запросам тоже есть нестыковки. Если будете работать с API, проверяйте ответы.

Другие статьи автора

0
186 комментариев
Написать комментарий...
Анон Плиз

Не понял, зачем было считать в рейтинге самых заплюсованных авторов тех, у кого больше десятка-двух статей. Разве это не сотрудники редакции (и спонсоров), наполняющие сайт за деньги? 🤔

Ответить
Развернуть ветку
Дмитрий Зорин
Автор

К сожалению, пометки "сотрудник" в базе данных нет и отделить их не получится

Ответить
Развернуть ветку
Анон Плиз

Выбрать границу по числу статей. По-хорошему, если данные позволяют - вообще не учитывать статьи. Идеально - не учитывать плюсы/минусы для автора в его статьях

Ответить
Развернуть ветку
183 комментария
Раскрывать всегда