Для работы с api вконтакте на python удобно использовать библиотеку под названием userapi.
Код библиотеки лежит на svn, так что для его получения под виндовс придется немного загрузить постороннего софта, а именно программу для работы с распределенными системами управления версиями Mercurial.
Загружаем программу со страницы загрузки
Загрузив и установив программу, переходим на страницу библиотеки python для работы с API Вконтакте
в коммандную строку вводим
hg clone https://code.google.com/p/userapi/
или указываем полный путь к hg.exe, если пишет что не является программой или исполнимым файлом (находится в папке с установленным Mercurial)
После того как библиотека скачается переходим в папку userapi и копируем содержимое в папку питона для питона 2.7 путь следующий /Python27/Lib/site-packages/
Библиотека userapi готова к работе, теперь воспользуемся примером
Александра Гудулина для загрузки аватарок своих друзей
#!/usr/bin/python # -*- coding: utf-8 -*- from userapi import * import urllib import os USER = «mail» PASS = «pass» DID = «id» def getFriendsAvatars(id = None): for friend in handler.v_friends(None, id, 0, 60): try: os.mkdir(«avatars») except OSError: pass # directory exists if friend.avatar != ‘0’: downloadPicture(str(friend.avatar), «avatars», str(friend.id)+».»+str(friend.avatar).split(«.»)[-1]) def downloadPicture(url, pathToDir, title): wf = urllib.urlopen(url) lf = open(pathToDir + «/» + title, «w») lf.write(wf.read()) wf.close() lf.close() try: session = Session() session.login(USER, PASS) handler = UserAPI(session) getFriendsAvatars() session.logout() except UserAPIError as error: print «Get code: » + str(error.code) + » » + error.text except JSONProblemError as error: print «JSON data is a bullshit, storing to disk» f = file(‘bs’, ‘w’) f.write(error.json_data) f.write(«nnn» + str(error.supplement)) f.close()
Пояснения к коду можно прочитать в опубликованной автором статье.
Vkontakte API Python | Как работать с методами?
У меня аватарки загрузились, правда с кучей помех, причину пока не выяснял. Но тем не менее библиотека работает и можно создавать скрипты и программы для работы с Вконтакте через API. Нашел еще одну библиотеку для работы с Вконтакте, от разработчика уже известного дополнения pymorphy
Источник: xn--80afqpaigicolm.xn--p1ai
Как установить API ВКонтакте на Python: пошаговая инструкция
API ВКонтакте — это одно из самых широко используемых API, которое позволяет взаимодействовать с социальной сетью VK. Чаще всего оно применяется в разных чатах и ботах для автоматического получения и отправки информации. Если вы хотите установить API ВКонтакте на Python и начать работать с ним, то эта статья будет полезной для вас.
Как написать бота на Python для ВКонтакте? Часть 1. Установка и начало программы.
Python — это язык программирования, который позволяет создавать разнообразные приложения, в том числе и для работы с API ВКонтакте. В данной статье мы рассмотрим пошаговую инструкцию по установке API ВКонтакте на Python, чтобы вы могли использовать его для создания своих программ и ботов.
Вам не обязательно иметь глубокие знания программирования для установки API ВКонтакте на Python. Последовательно выполняя каждый шаг нашей инструкции, вы получите полный доступ к API ВКонтакте для своих проектов.
Шаг 1: Зарегистрировать приложение в VK API
Первый шаг для установки API ВКонтакте на Python — зарегистрировать приложение в VK API. Для этого нужно иметь аккаунт ВКонтакте и перейти на страницу «Разработчикам». Затем следует создать новое Standalone-приложение или выбрать уже существующее.
После того, как приложение зарегистрировано, необходимо получить его ID и секретный ключ. Это позволит использовать API для получения информации из ВКонтакте и взаимодействовать с данными.
Шаг 2: Получение access token
Для работы с API ВКонтакте необходимо получить access token — уникальный ключ, который дает возможность обращаться к методам API.
Существует несколько способов получения access token, но наиболее удобным является получение через сервис OAuth. Для этого необходимо зарегистрировать приложение в настройках своего аккаунта разработчика ВКонтакте, после чего получить ID приложения и секретный ключ доступа (application secret).
Далее необходимо провести процедуру авторизации приложения от имени пользователя. Для этого необходимо сформировать ссылку на страницу авторизации и обратиться к ней из своего приложения. Пользователь должен подтвердить доступ приложения к своему аккаунту ВКонтакте.
Еще по теме: Руководство по использованию списков, кортежей и словарей в Python: полное руководство
После подтверждения доступа пользователь будет перенаправлен на указанный в настройках приложения callback-URL, где в параметрах URL будет содержаться access token. Этот ключ необходимо сохранить и использовать при обращении к методам API ВКонтакте из своего приложения на Python.
Шаг 3: Установка библиотеки Vk API
Для работы с VK API в Python необходимо установить библиотеку vk_api. Для этого можно воспользоваться менеджером пакетов pip, который позволяет устанавливать распространенные библиотеки простой командой в терминале.
Чтобы установить библиотеку vk_api, достаточно набрать в терминале следующую команду:
$ pip install vk_api
После установки библиотеки можно импортировать VkApi класс в свой код и использовать функции VK API для получения данных из социальной сети.
Следует обратить внимание, что для работы с VK API необходимы права доступа, которые можно получить через сайт разработчика VK. Для получения токена авторизации в VK API нужно пройти процедуру OAuth 2.0. После получения токена можно использовать его для выполнения запросов к API.
Шаг 4: Создание приложения в интерфейсе Python
Для работы с API ВКонтакте необходимо зарегистрировать приложение и получить ключ доступа. Для этого необходимо перейти на страницу приложений VK и создать новое приложение.
Шаг 1: Для создания приложения необходимо выполнить вход в свой аккаунт разработчика VK на странице https://vk.com/dev. Для этого необходимо ввести логин и пароль от своего аккаунта VK.
Шаг 2: После входа в личный кабинет разработчика необходимо перейти на страницу создания нового приложения, которая находится по адресу https://vk.com/apps?act=manage.
Шаг 3: Далее необходимо выбрать тип создаваемого приложения (standalone приложение, веб-сайт или мобильное приложение). В данном случае мы будем создавать standalone-приложение, которое будет работать без связи с сайтом или мобильным приложением.
Шаг 4: После выбора типа приложения необходимо заполнить необходимые поля: название, описание и тип приложения. В поле «платформа» необходимо выбрать «standalone-приложение».
Шаг 5: После заполнения всех необходимых полей необходимо нажать кнопку «Сохранить», которая находится в нижней части страницы. После этого вы увидите страницу настроек вашего приложения.
Шаг 6: На странице настроек приложения необходимо найти раздел «Настройки прав доступа» и выбрать необходимые права доступа к API ВКонтакте. После этого необходимо нажать кнопку «Добавить ключ доступа».
Шаг 7: В открывшемся окне необходимо указать список прав доступа, которые будут использоваться в вашем приложении. После этого необходимо нажать кнопку «Создать ключ доступа».
Шаг 8: После создания ключа доступа его необходимо скопировать и сохранить в надежном месте. Данный ключ используется для доступа к API ВКонтакте в вашем Python-приложении.
Поздравляем! Теперь вы зарегистрировали свое приложение и получили ключ доступа к API ВКонтакте.
Шаг 6: Выбор способа авторизации приложения в API ВКонтакте
После того как вы получили ключ доступа (access_token), следующим шагом будет выбор способа авторизации вашего приложения в API ВКонтакте. Вы можете выбрать один из двух доступных способов:
- Авторизация Standalone приложения — эта авторизация используется, если вы создаете приложение, которое будет работать только для одного аккаунта пользователя ВКонтакте, без доступа к данным пользователей ВКонтакте в других аккаунтах.
- Авторизация приложения для других пользователей — данная авторизация используется, если вы создаете приложение, которое нуждается в доступе к данным пользователей ВКонтакте в нескольких аккаунтах.
Еще по теме: Как изучение последней цифры числа Фибоначчи в Python помогает решать задачи
Выбор способа авторизации зависит от того, каким образом вы планируете использовать ваши данные в приложении. Рекомендуется выбирать авторизацию Standalone приложения, если ваше приложение заточено под работу только с одним аккаунтом пользователя ВКонтакте. В противном случае выбирайте авторизацию приложения для других пользователей.
Шаг 7: Получение информации о текущем пользователе
Для получения информации о текущем пользователе необходимо выполнить GET-запрос к методу users.get с параметром fields, указывающим необходимые поля пользователя.
Например, чтобы получить информацию о имени, фамилии и id текущего пользователя, необходимо указать следующий код:
Код: | user_info = api.users.get(fields=[‘first_name’, ‘last_name’, ‘id’]) |
В результате выполнения данного кода в переменной user_info будет храниться информация о текущем пользователе.
Важно учитывать, что для выполнения данного запроса необходимо передать access_token с правами доступа к методу users.get.
Для получения другой информации о текущем пользователе необходимо указать соответствующие поля в параметре fields.
Шаг 8: Получение информации о друзьях пользователя
После того, как мы получили доступ к API ВКонтакте и авторизовались, можно получить информацию о друзьях пользователя. Друзья — это люди, которые добавлены в список контактов в социальной сети ВКонтакте.
Для получения информации о друзьях необходимо использовать метод friends.get. Этот метод принимает следующие параметры:
- user_id — идентификатор пользователя, информацию о друзьях которого мы хотим получить
- fields — список дополнительных полей, которые необходимо вернуть в ответе. Например, имя, фамилия, фотография
- count — количество друзей, которых необходимо получить
Как установить вк апи на питон
Не смотря на то, что Python вышел на 1-е место для обучения программированию в университетах США, в российском сегменте всемирной паутины найти новую статью по Python, особенно 3 версии, практически невозможно( В основном все более-менее грамотные статьи исключительно на Хабре). Библиотека для питона поддерживающая API ВК существует около 2х лет, но найти подробную статью мне так и не удалось. Постараюсь исправить это недоразумение, если заинтересовал — приглашаю под кат.
Начнём с самого главного — с установки
Для удобства работы с API создадим ВК-приложение
Открываем VK, переходим на вкладку «приложения», заходим во вкладку «управление» и нажимаем кнопку «создать приложение»
.
Для работы нам понадобится ID приложения, его можно найти во вкладке «настройки».
Напишем простейший «Hello, world»
import vk
vkapi = vk.API(‘my_app_id’, ‘user_login’, ‘user_password’)
vkapi.access_token=s
vkapi.wall.post(message=»Hello, world»)
Теперь разберём код построчно:
import vk
подключаем модуль vk
vkapi = vk.API(‘my_app_id’, ‘user_login’, ‘user_password’)
выполняем вход ВК
vkapi.access_token=s
это самое интересное, для работы со стеной вк, приложение должно иметь права wall.О том как их получить подробно написанно здесь. Чтобы наше приложение заработало, скопируйте полученный access_token в строчку s
vkapi.wall.post(message=»Hello, world»)
в результате выполнения этого кода, на вашей стене появится надпись Hello, world
Примеры
Приведу ещё несколько примеров. Часть из них размещена на странице модуля.
profiles = vkapi.users.get(user_id=1)
print(profiles[0][‘first_name’]+’ ‘+profiles[0][‘last_name’])
Получаем фамилию и имя пользователя с указанным ID.
s=vkapi.wall.get(domain=’apiclub’,count=1)
Получаем записи со стены сообщества Вконтакте API в количестве одной штуки.
В заключение приведу несколько полезных ссылок:
Скопировано с песочницы habr
Источник: django.ucoz.com