- py-vkontakte — Python client for API vk.com
- История выпусков Уведомления о выпусках | Лента RSS
- Загрузка файлов
- Source Distribution
- Built Distribution
- Хеши для py-vkontakte-5.76.0.tar.gz
- Хеши для py_vkontakte-5.76.0-py3-none-any.whl
- Помощь
- О PyPI
- Внесение вклада в PyPI
- Использование PyPI
- VkApi (основной класс)¶
- Библиотека vk для работы с VK API на Python
- Saved searches
- Use saved searches to filter your results more quickly
- License
- python273/vk_api
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- vk_api
- История выпусков Уведомления о выпусках | Лента RSS
- Загрузка файлов
- Source Distribution
- Built Distribution
- Хеши для vk_api-11.9.9.tar.gz
- Хеши для vk_api-11.9.9-py3-none-any.whl
- Помощь
- О PyPI
- Внесение вклада в PyPI
- Использование PyPI
py-vkontakte — Python client for API vk.com
История выпусков Уведомления о выпусках | Лента RSS
5.81.dev1 предварительный выпуск
Загрузка файлов
Загрузите файл для вашей платформы. Если вы не уверены, какой выбрать, узнайте больше об установке пакетов.
Source Distribution
Uploaded 29 авг. 2021 г. source
Built Distribution
Uploaded 29 авг. 2021 г. py3
Хеши для py-vkontakte-5.76.0.tar.gz
Алгоритм | Хеш-дайджест | |
---|---|---|
SHA256 | 0beda6f34f7c39ab3bcacb71ec78a48e9af6008a0b3ae0d236ea6fc9163cac1f | Копировать |
MD5 | 92f6c504068cbb4600c3bc81fab7a914 | Копировать |
BLAKE2b-256 | 691d899a3578f47d63604f513b9281cfdd4a39b4884fe5b7a386118c175e437b | Копировать |
Хеши для py_vkontakte-5.76.0-py3-none-any.whl
Алгоритм | Хеш-дайджест | |
---|---|---|
SHA256 | a415ac7516936a4efaadce100beffb3a436505f3b50ff9c2a39100f471af851f | Копировать |
MD5 | c8dc32b6dad45477646de9bc92d908cd | Копировать |
BLAKE2b-256 | 13d235acfa842391786a8bbe9d7d6d1f4891f9e66faf5ed142cd84ec370c6022 | Копировать |
Помощь
О PyPI
Внесение вклада в PyPI
Использование PyPI
Разработано и поддерживается сообществом Python’а для сообщества Python’а.
Пожертвуйте сегодня!
PyPI», «Python Package Index» и логотипы блоков являются зарегистрированными товарными знаками Python Software Foundation.
VkApi (основной класс)¶
too_many_rps_handler ( error ) [source] ¶ Обработчик ошибки “Слишком много запросов в секунду”.
Ждет полсекунды и пробует отправить запрос заново
error – исключение
Обработчик двухфакторной аутентификации
Позволяет обращаться к методам API как к обычным классам. Например vk.wall.get(…)
method ( method , values = None , captcha_sid = None , captcha_key = None , raw = False ) [source] ¶
- method (str) – название метода
- values (dict) – параметры
- captcha_sid – id капчи
- captcha_key (str) – ответ капчи
- raw (bool) – при False возвращает response[‘response’] при True возвращает response (может понадобиться для метода execute для получения execute_errors)
Перечисление прав пользователя. Список прав получается побитовым сложением (x | y) каждого права. Подробнее в документации VK API: https://vk.com/dev/permissions
Пользователь разрешил отправлять ему уведомления (для flash/iframe-приложений). Не работает с этой библиотекой.
Доступ к аудиозаписям. При отсутствии доступа к закрытому API аудиозаписей это право позволяет только загрузку аудио.
Добавление ссылки на приложение в меню слева.
Доступ к статусу пользователя.
Доступ к заметкам пользователя.
Доступ к расширенным методам работы с сообщениями.
Доступ к обычным и расширенным методам работы со стеной.
Доступ к расширенным методам работы с рекламным API.
Доступ к API в любое время. Рекомендуется при работе с этой библиотекой.
Доступ к группам пользователя.
Доступ к оповещениям об ответах пользователю.
Доступ к статистике групп и приложений пользователя, администратором которых он является.
Доступ к email пользователя.
Библиотека vk для работы с VK API на Python
Привет, Хабр! Данная статья предназначена для тех, кто хочет разобраться с основами VK API на Python, так как статей по этому поводу нет (на Хабре есть одна статья, но она уже не совсем актуальна, так как некоторые методы не работают), а на других ресурсах мне удалось найти только вопросы пользователей, но никаких гайдов и прочего.
Для работы с VK API в Python есть две популярные библиотеки: vk и vk_api. Какая из библиотек лучше я судить не возьмусь, но скажу одно: у vk документация слишком мала (поэтому разбирался практически методом тыка) и на английском языке, а у vk_api документация более развернута (поэтому писать о данной библиотеке смысла не вижу) и на русском. Для меня не главное на каком языке документация, но для некоторых пользователей это играет большое значение при выборе.
Как вы уже поняли, в данной статье рассматривается работа с библиотекой vk.
Устанавливается данная библиотека следующей стандартной командой:
После того, как модуль будет установлен, нам необходимо создать приложение на сайте соц.сети. Я думаю, что большинство пользователей умеет это делать, поэтому информацию по этому шагу пропускаю. Если кто не умеет, то гуглим, не стесняемся.
После регистрации приложения нам нужен будет только его ID.
Начнем с авторизации. В принципе, некоторую информацию можно получить и без ввода личных данных, что конечно же хорошо, например:
import vk session = vk.Session() vk_api = vk.API(session) vk_api.users.get(user_id=1)
Таким образом мы получим фамилию, имя и id пользователя с user_id = 1. Если вам нужно получить еще какую-то информацию о пользователе, то в вызове метода нужно указать дополнительные поля, информация о которых должна быть возвращена:
vk_api.users.get(user_id=1, fields=’online, last_seen’)
Т.е. в данном случае мы получим не только информацию об имени и фамилии пользователя с но и информацию о том, находится ли пользователь сейчас на сайте (fields=’online’) и время последнего посещения, а также тип устройства (fields=’ last_seen’).
Действия без авторизации не предоставляют нам возможность использования VK API на полную мощь, поэтому рассмотрим авторизацию с вводом личных данных. Есть два способа: ввод логина и пароля, ввод токена. Чтобы авторизоваться с помощью токена нужно немного дополнить первый пример, а именно вот эту строку:
session = vk.Session(access_token='tocken')
Дальше все остается так же, как и было раньше, без каких-либо изменений.
Следующий способ авторизации – ввод логина и пароля. В данном случае тоже все довольно просто и понятно:
session = vk.AuthSession('id_app', 'login', 'pass') vk_api = vk.API(session)
Как видите, ничего сложного и все настолько просто и понятно, что даже не нуждается в дополнительных комментариях.
При такой авторизации нужно указывать не только логин, пароль и ID приложения, но то, к чему мы хотим получить доступ.
Например, у нас сейчас не указан доступ к стене пользователя, поэтому при попытке добавить запись на стену мы получим ошибку:
vk_api.wall.post(message="hello") Ошибка: vk.exceptions.VkAPIError: 15.
Для того чтобы данный код сработал корректно, при авторизации нужно указать дополнительно аргумент с названием scope и перечислить через запятую те методы, доступ к которым мы хотим получить.
session = vk.AuthSession('id_app', 'login', 'pass', scope=’wall, messages’) vk_api = vk.API(session) vk_api.wall.post(message="hello")
В данном примере я запрашиваю доступ к стене и сообщениям. Выполнение программы завершается корректно, а на стене появляется запись с текстом ‘hello’. Названия методов, к которым возможно получить доступ можно посмотреть на этой странице документации.
Вот и все. Вызов методов происходит по одному шаблону:
vk_api.метод.название(параметры=значения) Например: vk_api.messages.send(users_id=0, messages=’hello’)
Таким образом мы отправляем сообщение hello пользователю с (т.е. самому себе). Названия параметров, которые нужно передавать при вызове какого-либо метода можно найти в документации, в описании самого метода.
Для более наглядной работы библиотеки я реализовал небольшую программку, которая следит когда пользователь зашел в ВК, а когда из него вышел (слабо верится, но может будет кому интересна). Код программы ниже и на GitHub.
import datetime from time import sleep import vk def get_status(current_status, vk_api, id): profiles = vk_api.users.get(user_id=id, fields='online, last_seen') if (not current_status) and (profiles[0]['online']): # если появился в сети, то выводим время now = datetime.datetime.now() print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~') print('Появился в сети в: ', now.strftime("%d-%m-%Y %H:%M")) return True if (current_status) and (not profiles[0]['online']): # если был онлайн, но уже вышел, то выводим время выхода print('Вышел из сети: ', datetime.datetime.fromtimestamp(profiles[0]['last_seen']['time']).strftime('%d-%m-%Y %H:%M')) print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~') return False return current_status if __name__ == '__main__': пользователя: ") session = vk.Session() vk_api = vk.API(session) current_status = False while(True): current_status = get_status(current_status, vk_api, id) sleep(60)
Данная статья предназначалась лишь для понимания основ работы с VK API на Python с использованием библиотеки VK.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Модуль для создания скриптов для ВКонтакте | vk.com API wrapper
License
python273/vk_api
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
- Support captcha on twofactor path - Fix sid verification - Fix OAuth response parsing
Git stats
Files
Failed to load latest commit information.
README.md
vk_api – Python модуль для создания скриптов для ВКонтакте (vk.com API wrapper)
python3 -m pip install vk_api
import vk_api vk_session = vk_api.VkApi('+71234567890', 'mypassword') vk_session.auth() vk = vk_session.get_api() print(vk.wall.post(message='Hello world!'))
About
Модуль для создания скриптов для ВКонтакте | vk.com API wrapper
vk_api
История выпусков Уведомления о выпусках | Лента RSS
Загрузка файлов
Загрузите файл для вашей платформы. Если вы не уверены, какой выбрать, узнайте больше об установке пакетов.
Source Distribution
Uploaded 25 июн. 2022 г. source
Built Distribution
Uploaded 25 июн. 2022 г. py3
Хеши для vk_api-11.9.9.tar.gz
Алгоритм | Хеш-дайджест | |
---|---|---|
SHA256 | c7741e40bc05980c91ed94c84542e1e7e7370e101b5eaa74222958d4130fe3c2 | Копировать |
MD5 | da25cd23b3315480aa6eb40e246b8411 | Копировать |
BLAKE2b-256 | fc6cb696dcc8f10136f0c1afc98e37a267e46b63301e7f48ab5fc13065f0755f | Копировать |
Хеши для vk_api-11.9.9-py3-none-any.whl
Алгоритм | Хеш-дайджест | |
---|---|---|
SHA256 | c71021506449afe5b9bbb1c4acb0d86b35a007ddc21678478e46fbbeabd1f3ef | Копировать |
MD5 | 453fc6600135f7e8a88d4e8ee7b7f236 | Копировать |
BLAKE2b-256 | 55ff2298f424d7a7ef994e295a31911d47f23a6afdb9e880f10b2dc7a9998a8a | Копировать |
Помощь
О PyPI
Внесение вклада в PyPI
Использование PyPI
Разработано и поддерживается сообществом Python’а для сообщества Python’а.
Пожертвуйте сегодня!
PyPI», «Python Package Index» и логотипы блоков являются зарегистрированными товарными знаками Python Software Foundation.