Установка vk api через pip

A very simple to use API Wrapper for Vkontakte (VK) on Python.

VK Advanced API

Весь контент, изложенный в этом репозитории, не является актуальным, автор прекращает поддержку работы и обновления функционала, а также более не несет ответственности за корректность работы приложения.

Интересная штука то получается. Вроде всех этих open-source либ много, но все они какие-то недоработанные

Именно так я решил. Решил и сделал ☺️

VK Advanced API предоставляет возможность в полной мере насладиться всеми фичами API ВК, которое оно само предоставить не может.

Здесь вы увидите:

  • Авторизация с помощью Логина и Пароля пользователя, а не только токена
  • Улучшение работы некоторых методов и их группирование в один полноценно рабочий метод
  • Улучшенный polling эвентов
  • Новый тип эвентов — Notifications Events (название авторское)
  • Обработку капчи с помощью сервиса RuCaptcha
  • Кастомную обработку ошибок
  • Качественную и быструю работу
  • Гибкую настройку под все нужды

Это и не только вы сможете увидеть тут!

Как установить pip для python на Windows, Linux, Mac OS

Очень простая и удобная установка!

Возможны некоторые ошибки при установке (так уж собрался пакет, что необходимые модули ставяться в конце)

Чтобы их избежать, следуйте инструкции ниже

Выполните следующие команды в вашей консоли

pip install requests pip install parsel pip install captcha_solver pip install pymitter pip install lxml

И установите сам модуль

pip install vk_advanced_api

Если хотите установить определенную версию, используйте ==version , где version — желаемая версия

pip install vk_advanced_api==1.3.1

Чтобы обновить модуль, напишите параметр —upgrade , установится последнаяя стабильная версия

pip install —upgrade vk_advanced_api

(Все представленное здесь хорошо описано в директории examples)

Через данные пользователя

  • app_id — ID Вашего Standalone-приложения (тут прочтите)
  • login — Логин/Email/Телефон юзера
  • password — Пароль юзера
  • captcha_key — API Ключ к вашему аккаунту на RuCaptcha
  • version — Желаемая версия API VK
  • warn_level — Уровень лога ошибок, где 1 — вывод в консоль, 2 — вызов ошибок (raise)

При данном типе авторизации будет получен Access Token юзера, так что вы всегда сможете получить его

access_token = api.access_token
# Импортируем модуль import vk_advanced_api # Создаем экземпляр класса VKAPI api = vk_advanced_api.VKAPI( access_token=’Your-Access-Token’, captcha_key=’your-captcha-key’, version=5.71, warn_level=1 )

  • access_token — Access Token юзера

(Все представленное здесь хорошо описано в директории examples)

Еще по теме:  Как зайти на страницу в ВК другого человека без пароля

Всего в модифицированной версии есть пару методов, основную часть которых, конечно же, составляет само API Вконтактика.

Один из таких — sendMessage (В коде там поищите его описание, мне тут лень описывать это, ну серьезно)

Vkontakte BOT (vk_api python) [1] | Настройка и структура.


# Тут всё вроде понятно, кроме attachments # Он описан в examples/upload_media.py api.sendMessage( user_id=1, message=’Привет, Дуров’, attachments=[] )

Чтобы получить класс API, обратимся к utils

>>> utils = api.utils

После попытаемся вызвать метод. Т.к. я постарался поиграться с «магией» Питона ( getattr и call ), то все методы можно получить просто как методы самой библиотеки. Те, кто знают, что может getattr и call поймут меня.

>>> utils.messages.send(user_id=1, message=’Привет, Дуров!’)

(а это типо ответ API на ваш запрос)

364582

За подобную идею хочу отблагодарить человека dimka665 и его проект vk

LongPolling и обработка эвентов

(Все представленное здесь полностью описано в директории examples Сказал же, что ПОЛНОСТЬЮ!)

Более подробно о технологии LongPolling VK читайте тут

Моя либа предоставляет возможность работать с обработанными эвентами, в частности направленные на помощь в создании чат-ботов

Например, вот вам эвент new_message

Ключ Что означает
type Тип сообщения (public или private)
message_id ID сообщения
date Дата события по UNIX
is_out Определяет, явзяется ли сообщение исходящим (True, если да)
args Аргументы (просто всё, что разделено пробелом), помогают при создании команд для чат-бота
is_command Определяет, является ли сообщение командой (True, если да)
peer_id ID диалога (диалогом может быть беседа или личный чат)
from_id (только для бесед, вернет None, если личное сообщение) — ID пользователя, который отправил сообщение
body Тело эвента в нетронутом виде, которое поступило при запросе на Polling сервер VK
is_acted (только для бесед, вернет False, если личное сообщение) — Позволяет определить, является ли этот эвент действием в беседе
attachments Вложения

Или вот вам описание ключа act в эвенте new_action

Ключ Что означает
act ID действия
act_mid ID юзера, над которым совершили действие
act_from ID юзера, который совершил действие
act_text Текст, который был передан в действии (обычно новое название беседы)

Также существует особый тип эвентов — Notifications Events .

По своей сути данный тип эвентов является тем самым случаем, когда обычный метод становится возможностью получать все более свежую информацию. Данная функция — уникальна и встречается только в данной библиотеке. (За идею спасибо ему)

Примечание

Данный функционал находится в тестировании и возможно нуждается в правках.

Еще по теме:  Как накрутить подписчиков в ВК в группу

Ниже представлено описание ключей данного эвента -> new_notification

Ключ Что означает
user_id ID пользователя, который совершил действие. Параметр user_ids не передается, если был передан текущий
user_ids Список, содержащий ID пользователей, совершивших данное действие в один промежуток времени или там, где это необходимо. Параметр user_id в данном случае не передается
type Тип действия, подробнее на https://vk.com/dev/notifications.get
date Дата события по UNIX
body Тело события (Для разных типов событий содержатся разные поля)
parent_id ID материала, к которому появился ответ
parent Информация о материале, к которому появился ответ

(На самом деле я простот игрался с таблицами, красиво выглядят. )

Не поймите меня неправильно, но я просто уже устал от того, что для многих понимания простота и удобство утратило свой смысл. Большинство существующих либ для работы с API Вконтакта либо слишком простые и засчёт этого мало чем отличаются от сырых запросов, либо настолько накрученные, что рядовой юзер может потеряться во всем разнообразии вещей.

Я не поливаю их говном, это моё личное мнение. НО именно это мнение подтолкнуло сделать меня нечто подобное.

Естественно, либа будет обновляться, улучшаться. На этом пока всё.

About

A very simple to use API Wrapper for Vkontakte (VK) on Python.

Источник: giters.com

vk-api
Release 11.6.0

Dependencies 3 Dependent packages 28 Dependent repositories 43 Total releases 61 Latest release Jun 25, 2022 First release May 2, 2014 Stars 1.21K Forks 325 Watchers 75 Contributors 46 Repository size 911 KB

Documentation

vk_api – Python модуль для создания скриптов для ВКонтакте (vk.com API wrapper)

  • Документация
  • Примеры
  • Чат в Telegram
  • Документация по методам API
  • Альтернативы vk_api (асинхронность; боты)

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!’))

Источник: libraries.io

Изменение статуса при помощи Python и API Вконтакте

Изменение статуса при помощи Python и API Вконтакте

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

#1 — Установка ПО Python и vk_api

Сначала необходимо скачать Python не ниже третьей версии. Он нужен в качестве языка программирования. Чтобы установить ЯП на ПК, потребуется загрузить установочный файл, пройдя по этой ссылке .

В процессе инсталляции поставить отметку напротив пункта «Add Python to PATH»:

При установленном ЯП все равно потребуются библиотеки vk_api, чтобы обеспечить работу скрипта в социальной сети. Добавить из проект можно через командную строку или терминал. Запускаем командную строку через команду cmd (пропишите её в меню пуск), далее в командной строке пропишите:

Еще по теме:  Vk raw что это такое

pip install vk_api

#2 – Создание Git и Heroku

Нужно зарегистрироваться на ресурсе Heroku по этой ссылке , чтобы создать хостинг для скрипта. Когда аккаунт будет активным, необходимо инсталлировать на ПК Heroku CLI .

Также понадобиться Git, который можно скачать отсюда . Он потребуется, чтобы установить скрипт на Heroku.

#3 – Создание скрипта

Теперь потребуется вставить функциональные модули:

import vk_api import datetime # работа с датой и временем import time

Прописать повторяющийся цикл:

while True:

Дальше необходима авторизация в соц. сети:

vk = vk_api.VkApi(token=»токен для авторизации»)

Пройдя по этой ссылке откроется инструкция для получения токена:

Теперь потребуется настроить дату и московское время:

delta = datetime.timedelta(hours=3, minutes=0) # разница от UTC. Можете вписать любое значение вместо 3 t = (datetime.datetime.now(datetime.timezone.utc) + delta) # Присваиваем дату и время переменной «t» nowtime = t.strftime(«%H:%M») # текущее время nowdate = t.strftime(«%d.%m.%Y») # текущая дата

И, разумеется, количество друзей онлайн:

on = vk.method(«friends.getOnline») # получаем список id друзей онлайн counted = len(on) # считаем кол-во элементов в списке
vk.method(«status.set», )

Что находится в поле «Статус», обозначено в значении text. Пример предоставлен выше, но точно копировать данные не обязательно.

Чтобы обойти капчу в ВК:

time.sleep(30) # погружаем скрипт в «сон» на 30 секунд

Исходный код обязан выглядеть, как в нижеприведенном примере:

Написание скрипта завершено!

#4 – Интегрирование скрипта в Heroku

Чтобы пройти авторизацию на Heroku, необходимо открыть терминал или командную строку:

heroku login

Найти директорию скрипта (использование отдельной папки в этом случае отличное решение):

cd %директория%

Теперь в Heroku потребуется создать приложение ( app_name необходимо заменить другим обозначением):

heroku create %app_name% —buildpack http://github.com/heroku/heroku-buildpack-python.git

Три указанных ниже файла необходимы для корректной работы скрипта в Heroku. Создать:

  • runtime.txt
  • Procfile (без расширения)
  • requirements.txt

# runtime.txt: python-3.6.6 # Procfile: worker: python3 %name%.py # Название скрипта вписать вместо name: # requirements.txt: vk_api

Теперь он готов к инсталляции:

git init heroku git:remote -a %app_name% git add . git commit -am «first deploy»

Дальше потребуется заменить значение app_name на название приложения, а first_deploy переименовать на произвольные символы.

git push heroku master

Теперь загрузка скрипта гарантирована. Чтобы продолжить работу, необходимо дождаться окончания процесса.

Посещать сайт Heroku, чтобы войти в приложение нужно после завершения процесса. Здесь необходимо открыть вкладку Resources.

Задействовать поочередно «карандаш» и «ползунок» Confirm.

Визуально найти вкладку More > View logs (она находится в верхнем углу справа), активировать и выждать паузу приблизительно 10 секунд.

Если ошибки отсутствуют, значит, работа проделана отлично.

Источник: status-telecom.ru

Рейтинг
( Пока оценок нет )
Загрузка ...