У какой записи во «ВКонтакте» больше всего лайков и репостов?

Ответить
Ответить
Комментировать
0
Подписаться
19
8 ответов
Поделиться
АВТОР ВОПРОСА ОДОБРИЛ ЭТОТ ОТВЕТ

Теоретически, VK API позволяет создать приложение для вычисления этого значения, но это займет очень много времени.

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

Метод wall.get позволяет получить список всех записей на стене пользователя или группы с информацией о лайках и репостах. Количество записей может быть разным, но временем вычисления максимального среди записей пользователя/группы можно пренебречь, так как этим занимается наш компьютер и делает это относительно быстро. Но ответ метода API(проверка одного пользователя/группы) занимает в среднем 65 миллисекунд. Если количество пользователей - 170 миллионов, групп - 90 миллионов, то нужно выполнить 270 миллионов запросов к API и потратить на это 270 х 10^6 х 65 = 17 550 000 000 миллисекунд = 17 550 000 секунд = 292 500 минут = 4 875 часов = 203 дня.

80

И примерно на 1 секунде нас забанит ВК)

+41
Ответить

или можно зайти на IGM и понять, что никто кроме них еще не собирал более 1 800 000 репостов

+46
Ответить

Думаю можно ускорить с помощью execute, правда wall.get не отдает сразу все записи, там лимит на 100 записей за раз. Так что итоговое время будет гораздо больше.

+8
Ответить
Ещё 5 комментариев

Методы ВК позволяют получить кол-во записей с числом лайков больше 1000.

Всего таких записей 10 000 000.

Что равняется всего 100 000 обращениям к апи или 2-е суток

+21
Ответить

Что касается IGM, то думаю все давно поняли, что мир безумен и глуп, а аудитория IGM и подавно.

+18
Ответить

Можно распараллелить процесс, такое хорошо параллелится.

+2
Ответить

Нужно выполнить более 270 миллионов запросов к API. Каждый запрос возвращает не более ста постов, и между каждым нужно выждать не менее 1/3 секунды. Например если мы будем искать пост с наибольшим количеством лайков в группе с 30 000 постами, то нам нужно выполнить 300 запросов, а это 300x(65+333,3) = 119490 мс или примерно 2 минуты. А теперь представьте что групп 170 миллионов и в некоторых из них постов может быть намного больше. Предположим что в каждой группе будет 10 000 постов. В таком случае на то, чтобы запросить все посты из всех групп нам нужно 17x10^6x0.6 = 10200000 минут или 19 лет.

0
Ответить

19 лет - это на 17 миллионов, а групп 170 миллионов исходя из ответа Сергея.

0
Ответить
Прокомментировать

У одной из записей сообщества IGM. В прошлый раз они здорово подвесили сервера Вконтакте из-за небывалой активности.

На данный момент больше всего репостов и лайков у этой записи — 

И их будет ещё больше, поверьте.

78
Комментарий удален модератором

Я репостил это говно и ничего не выиграл. Спешите видеть этот позор и не поддавайтесь жадности!

-3
Ответить
Комментарий удален модератором
Ещё 1 комментарий

Даже интересно, что я тут такого скабрезного написал. 

+1
Ответить
Прокомментировать
Читать ещё 5 ответов
Ответить