Лев Тонких «Анализ дружеских связей vk с помощью python»
Post on 15-Jan-2015
367 Views
Preview:
DESCRIPTION
TRANSCRIPT
Social GraphЛев Тонких
Wolfram|Alpha Personal Analytics
Статья на Хабре
● Анализ дружеских связей VK с помощью Wolfram Mathematica
● “На моих 333 друзьях это заняло 119 секунд” - автор об получении списка общих друзей
???
119???
Граф дружеских связей VK.COM
● VK API● Получить данные● Визуализация графа
Что нужно?
● Python 3.4● requests (lib)● d3 (visualization)● Firefox (XMLHttpRequest)
Standalone/Mobile-приложения
● Создаем свое● Подтверждаем права● Попадаем в стр. управления (ID)
Авторизация приложения
● Аутентификации юзера на сайте ● Разрешение юзером доступа к данным● Передача в приложение access_token
Используемые методы
● users.get● friends.get● friends.getMutual● execute
Немного подумаем
● 25 друзей● С каждым другом есть 1 общий друг
Схема 1
Схема 2
Схема 3
Немного про execute
● code (VkScript)● 25 обращений к методам API
Схема 4
25 раз!
return {API.friends.getMutual({"source_uid":id_s, "target_uid":id_t}), // * 25};
Хранимые процедуры
На том же VkScript
execute.getMutual?source=id&targets=ids
Схема 5
Время выполнения
333 друга - 119 сек. VS 348 друзей - 9 сек.
Harder, Better, Faster, Stronger
Ошибки в доках
'error_msg': 'Access denied: user deactivated', 'error_code': 15спустя 2 дня:
+ uid вместо user_id
In The End
● [({Ваш друг}, [{}, {}]),()]● Генерим json● Магия d3 + добавляем картинки к каждому
узлу
Вопросы?
Habrahabr Github
Спасибо!
top related