Комментарии 23
Есть ещё aiovk для python 3.5+ сделан очень похожим на vk, но использует asyncio
Я не в смысле повозмущаться, мне действительно интересно ваше мнение/совет на тему :)
Не совсем понятно, почему вы выбрали именно библиотеку vk, раз вы сами сказали, что у vk_api документация больше, и, как я понял, в репозитории pip vk не обновлялась уже больше года.
Насчет обновлений, да. Уже не первый раз так долго нет обновлений для этой библиотеки.
Выбрал, кстати, еще по одной причине: слишком уж в ней все просто) все-таки в vk_api будет больше кода и конструкции более сложные, но возможностей с ней больше. Конечно, для каких-то простых действий, мне кажется, что лучше брать как раз библиотеку vk.
if (current_status == False) & (profiles[0]['online'] == 1):
...
if (current_status == True) & (profiles[0]['online'] == 0):
Кажется, у вас проблемы с условиями, а может быть, с программированием.
Проверки типа "a == True" делают только новички, а уж путать бинарные и логические операторы & и and — жуть.
Вообще постоянная копипаста profiles[0] вместо нормальной переменной (кстати, не факт что в ответе придет не пустой массив) тоже портит впечатление. Кстати отговорки "быстро писал, тестовый код" не катят, нормальный кодер и быстро напишет, и корректно.
Лично по мне, эти либы не так уж и нужны, разве что для авторизации. Все равно в них нету удобных структур для отображения ответа на запросы. Да и врятли они нужны, т.к. VK API постоянно меняется. Но вот на каком-нибудь C# делают структуры, и это даже удобно.
Лично по мне, эти либы не так уж и нужны, разве что для авторизации. Все равно в них нету удобных структур для отображения ответа на запросы. Да и врятли они нужны, т.к. VK API постоянно меняется.
А есть какой-то более мейнстримный подход к анализу страниц в ВК? Мне бы, например, хватило возможности дергать личную информацию о пользователе и его фотографии, и пока самым простым способом, для меня, является исопльзование библиотеки vk
На мой взгляд, апишка вконтакта делается банальной оберткой над requests. В сторонних библиотеках обычно 100500 классов, когда хватает пары функций.
Согласен. Я лично так и сделал с несколькими свистелками, вроде использование цепочек классов для доступа к разделам API (vk.users.get(user_ids=1)) и получения URL для готового запроса. Если интересно кому-нибудь — https://github.com/pyvim/vklancer.
Смотрите, какие permissions вам нужны, пишите их в качестве параметра ссылки по примеру «Request example» и, собственно, у вас есть токен.
На момент декабря 2022 года токен авторизации просит сразу, даже для выполнения первого примера:
import vk
session = vk.Session()
vk_api = vk.API(session)
vk_api.users.get(user_id=1)
Результат:
VkAPIError: 5. User authorization failed: no access_token passed.. request_params = {'method': 'users.get', 'oauth': '1', 'user_id': '1'}
Библиотека vk для работы с VK API на Python