Скачал базу пользователей vc.ru и составил рейтинги
Про техническую реализацию расскажу в конце. Перейдем сразу к результатам. Сейчас на vc.ru 545 444 пользователей (еще 164 удалены). Написали хотя бы одну статью 16 852 человека, только комментируют 119 703 человека.
Распределение довольно логично. Давайте теперь перейдем к рейтингам. Аккаунты с самой большой кармой:
Видно, что Альберт Хабибрахимов заслужено занимает первое место, сделав самый большой вклад среди всех — 6288 статей!
Из интересного можно заметить, что последний в списке попал в топ за счет комментариев, а не публикаций. В топ-100 таких деятелей гораздо больше. Вывод: для поднятия кармы проще всего строчить комментарии. На мой взгляд, за публикации нужно давать x2, чтобы стимулировать авторов.
С победителями все понятно, кто же попал в антирейтинг?
Начнем с того, что на шестом месте расположился «Яндекс.Маркет» b2b! Судя по странице, большая часть кармы упала на одном скандале. Вернемся к победителям. Михаил Фадеев занимает первое место с большим отрывом, но, честно говоря, его нельзя назвать самым крутым троллем, ведь количество комментариев тоже больше, чем у всех.
Чтобы все-таки выяснить, чьи комментарии самые «ядовитые», сортирую по отношению кармы к количеству комментариев и отсеиваю случайных (у кого меньше десяти комментов).
Поздравляю Андрея, который за 34 комментария смог заработать почти -1000 кармы! Андрей, если ты это читаешь, приглашаю тебя в комментарии.
Давайте теперь посмотрим, кто самый интересный писатель. Для этого сортируем по количеству подписчиков.
Наверху рейтинга Станислав Сазонов. На самом деле, ожидал больше подписчиков, получается, что на vc.ru нет смысла раскручивать блог.
Еще интересно, что у Support inDriver нет публикаций, но много подписчиков. Ищу похожих (0 публикаций и больше 0 подписчиков). Оказывается, таких страниц аж 2686 (0,5%). Предполагаю, что кнопку подписаться используют как избранное.
По предложению Евгения Данилова добавляю рейтинг людей с самыми заплюсованными комментариями (карма/комментарии и 0 публикаций):
Посмотрел несколько аккаунтов, все они неплохо пошутили.
Техническая реализация
Все началось с того, что мне нужно было найти автора для совместной публикации материала. Всем написать нельзя из-за ограничения платформы (максимум пяти людям в день), значит, нужно кого-то выбрать, а для этого желательно сравнить всех. Пришлось скачать всю базу пользователей.
У vc.ru и других блогов группы есть API. Если вкратце, через него можно получить статьи, комментарии, пользователя по ID, создать запись.
Раз нельзя запросить сразу несколько пользователей, решил скачивать по одному. Делая запрос раз в 251мс (vc.ru разрешает до трёх запросов в секунду), ID отправлял от одного до тех пор, пока не закончатся. Как язык программирования взял Node.js, но проще было бы использовать что-то синхронное. Например, PHP.
Проект можно скачать здесь:
Тех, кто будет реализовывать самостоятельно, должен предупредить, что в документации к API есть ошибки. Для текущего проекта достаточно знать, что по запросу user/{id} ответ в документации (слева) отличается от настоящего (справа):
По другим запросам тоже есть нестыковки. Если будете работать с API, проверяйте ответы.