Лев Тонких «Анализ дружеских связей VK с помощью Python»
-
Upload
dataart -
Category
Technology
-
view
316 -
download
16
description
Transcript of Лев Тонких «Анализ дружеских связей VK с помощью Python»
![Page 1: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/1.jpg)
Social GraphЛев Тонких
![Page 2: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/2.jpg)
Wolfram|Alpha Personal Analytics
![Page 3: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/3.jpg)
Статья на Хабре
● Анализ дружеских связей VK с помощью Wolfram Mathematica
● “На моих 333 друзьях это заняло 119 секунд” - автор об получении списка общих друзей
![Page 4: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/4.jpg)
???
119???
![Page 5: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/5.jpg)
Граф дружеских связей VK.COM
● VK API● Получить данные● Визуализация графа
![Page 6: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/6.jpg)
Что нужно?
● Python 3.4● requests (lib)● d3 (visualization)● Firefox (XMLHttpRequest)
![Page 7: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/7.jpg)
Standalone/Mobile-приложения
● Создаем свое● Подтверждаем права● Попадаем в стр. управления (ID)
![Page 8: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/8.jpg)
Авторизация приложения
● Аутентификации юзера на сайте ● Разрешение юзером доступа к данным● Передача в приложение access_token
![Page 9: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/9.jpg)
Используемые методы
● users.get● friends.get● friends.getMutual● execute
![Page 10: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/10.jpg)
Немного подумаем
● 25 друзей● С каждым другом есть 1 общий друг
![Page 11: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/11.jpg)
Схема 1
![Page 12: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/12.jpg)
Схема 2
![Page 13: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/13.jpg)
Схема 3
![Page 14: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/14.jpg)
Немного про execute
● code (VkScript)● 25 обращений к методам API
![Page 15: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/15.jpg)
Схема 4
![Page 16: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/16.jpg)
25 раз!
return {API.friends.getMutual({"source_uid":id_s, "target_uid":id_t}), // * 25};
![Page 17: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/17.jpg)
Хранимые процедуры
На том же VkScript
execute.getMutual?source=id&targets=ids
![Page 18: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/18.jpg)
Схема 5
![Page 19: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/19.jpg)
Время выполнения
333 друга - 119 сек. VS 348 друзей - 9 сек.
![Page 20: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/20.jpg)
Harder, Better, Faster, Stronger
![Page 21: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/21.jpg)
Ошибки в доках
'error_msg': 'Access denied: user deactivated', 'error_code': 15спустя 2 дня:
+ uid вместо user_id
![Page 22: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/22.jpg)
In The End
● [({Ваш друг}, [{}, {}]),()]● Генерим json● Магия d3 + добавляем картинки к каждому
узлу
![Page 23: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/23.jpg)
![Page 24: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/24.jpg)
Вопросы?
Habrahabr Github
![Page 25: Лев Тонких «Анализ дружеских связей VK с помощью Python»](https://reader030.fdocument.pub/reader030/viewer/2022012307/54b6f9db4a7959f5698b46f3/html5/thumbnails/25.jpg)
Спасибо!