25
Social Graph Лев Тонких

Лев Тонких «Анализ дружеских связей VK с помощью Python»

  • Upload
    dataart

  • View
    316

  • Download
    16

Embed Size (px)

DESCRIPTION

Спикер: Лев Тонких, Team Lead в Phoenix Universe. Тема: «Анализ дружеских связей VK с помощью Python». ««Построим свой социальный граф ВКонтакте.» О спикере: Программист и идейный вдохновитель. __ Видео: https://www.youtube.com/watch?v=RkcX6ZWU56s#t=2207 Сайт: http://www.dataart.ru/ Facebook: https://www.facebook.com/DataArt.Enjoy Vkontakte: http://vk.com/dataart_enjoy Twitter: https://twitter.com/DataArt_Enjoy

Citation preview

Page 1: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Social GraphЛев Тонких

Page 2: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Wolfram|Alpha Personal Analytics

Page 3: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Статья на Хабре

● Анализ дружеских связей VK с помощью Wolfram Mathematica

● “На моих 333 друзьях это заняло 119 секунд” - автор об получении списка общих друзей

Page 4: Лев Тонких «Анализ дружеских связей VK с помощью Python»

???

119???

Page 5: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Граф дружеских связей VK.COM

● VK API● Получить данные● Визуализация графа

Page 6: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Что нужно?

● Python 3.4● requests (lib)● d3 (visualization)● Firefox (XMLHttpRequest)

Page 7: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Standalone/Mobile-приложения

● Создаем свое● Подтверждаем права● Попадаем в стр. управления (ID)

Page 8: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Авторизация приложения

● Аутентификации юзера на сайте ● Разрешение юзером доступа к данным● Передача в приложение access_token

Page 9: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Используемые методы

● users.get● friends.get● friends.getMutual● execute

Page 10: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Немного подумаем

● 25 друзей● С каждым другом есть 1 общий друг

Page 11: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Схема 1

Page 12: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Схема 2

Page 13: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Схема 3

Page 14: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Немного про execute

● code (VkScript)● 25 обращений к методам API

Page 15: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Схема 4

Page 16: Лев Тонких «Анализ дружеских связей VK с помощью Python»

25 раз!

return {API.friends.getMutual({"source_uid":id_s, "target_uid":id_t}), // * 25};

Page 17: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Хранимые процедуры

На том же VkScript

execute.getMutual?source=id&targets=ids

Page 18: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Схема 5

Page 19: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Время выполнения

333 друга - 119 сек. VS 348 друзей - 9 сек.

Page 20: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Harder, Better, Faster, Stronger

Page 21: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Ошибки в доках

'error_msg': 'Access denied: user deactivated', 'error_code': 15спустя 2 дня:

+ uid вместо user_id

Page 22: Лев Тонких «Анализ дружеских связей VK с помощью Python»

In The End

● [({Ваш друг}, [{}, {}]),()]● Генерим json● Магия d3 + добавляем картинки к каждому

узлу

Page 23: Лев Тонких «Анализ дружеских связей VK с помощью Python»
Page 24: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Вопросы?

Habrahabr Github

Page 25: Лев Тонких «Анализ дружеских связей VK с помощью Python»

Спасибо!