Giter Club home page Giter Club logo

vk_friends's Introduction

vk_friends

Граф дружеских связей в vk.com. Больше инфы можно прочитать здесь и здесь. Если вам нужен старый релиз, то он тут. Перед тем, как что-то делать, рекомендую прочесть всю документацию.

##Что нужно

##Первые шаги

Для начала необходимо создать Standalone-приложение в VK. Делается это там. В итоге попросят ввести код-подтверждения, высланный на мобильный, после чего мы попадаем на страницу управления приложением. На вкладке Настройки нам пригодится ID приложения для получения access_token.

Чтобы его получить необходимо сформировать url:

https://oauth.vk.com/authorize?client_id=IDприложения&scope=friends,offline&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.21&response_type=token

Если адрес сформирован правильно, переходим по нему и получаем нечто вроде:

https://oauth.vk.com/blank.html#access_token=ACCESS_TOKEN&expires_in=0&user_id=USER_ID

После этого редактируем файл settings.py, вставляя туда полученные access_token и user_id.

Далее переходим по ссылке https://vk.com/editapp?id=IDприложения&section=functions и создаем хранимую процедуру getMutual. Копируем содержимое execute_getMutual.js в форму и сохраняем.

Для получения глубинного списка друзей (друзья-друзей и т.д.) проделываем те же самые действия с execute_deepFriends.js, назвав хранимую процедуру deepFriends.

Ура!

##RabbitMQ & Celery

После их установки необходимо создать virtual host для RabbitMQ:

rabbitmqctl add_vhost vk_friends
rabbitmqctl add_user user password
rabbitmqctl set_permissions -p vk_friends user ".*" ".*" ".*"

Далее в конфигурационном файле RabbitMQ (у меня это /usr/local/etc/rabbitmq/rabbitmq-env.conf) указать ip, на котором он установлен:

NODE_IP_ADDRESS=192.168.1.14 // example

В settings.py заполнить:

broker/backend - словари, содержащие информацию для доступа к брокеру и бэкенду

в соответствии с данными, введенными выше.

##Что дальше

Запускаем RabbitMQ:

rabbitmq-server

Затем воркера (из папки проекта):

celery -A tasks worker --loglevel=info

Воркеров может быть несколько.

Если вы все настроили правильно и нет никаких сообщений об ошибках, то:

python call.py

1 - Общие друзья, 2 - Друзья-друзей и тд, в зависимости от глубины (deep - в settings.py).

После первого запуска результат сохраняется в файлах _dct. Теперь можно рисовать/анализировать графы. По-умолчанию, graph.py работает с "глубинными друзьями". После запуска

python graph.py

вы увидите некоторую информацию о графе, а в папке проекта появится файл .png. Для болиших графов рекомендую закомментировать строчку

deep_friends.draw_graph()

##Полезности В settings.py можете вбить id любого интересующего вас человека.

vk_friends's People

Contributors

stleon avatar oleksandr-kuzmenko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.