Pull to refresh

Comments 23

Есть ещё aiovk для python 3.5+ сделан очень похожим на vk, но использует asyncio

спасибо, обязательно ознакомлюсь с данной библиотекой в ближайшее время)
Шёл 2017 год, народ до сих пор не переписали свои асинхронные приложения на async/await…
А зачем, если и так все прекрасно работает?
Если так рассуждать, то вообще можно было на втором питоне остаться.
Расскажите пожалуйста это гуглу и амазону, а то они наверное не знают какие они дураки, раз используют второй питон.
Вы какую-то глупость пишите. Сравниваете маленькую библиотеку и огромные кодовые базы крупных корпораций.
90% моих приложений линейные, то есть следующее действие выполняется только после полного выполнения предыдущего, в самых крайних случаях запускаю отдельными фоновыми процессами, которые выдают результаты в общий стрим (RabbitRQ), а оттуда сервисы разбирают себе задачи. Как я могу применить в работе async/await?

Я не в смысле повозмущаться, мне действительно интересно ваше мнение/совет на тему :)
Рад за вас.
Здесь речь шла про конкретную библиотеку и её работу в асинхронном режиме (кстати автор уже её удалил). На тот момент писать асинхронный код с использованием yield вместо async/await — моветон.

Не совсем понятно, почему вы выбрали именно библиотеку vk, раз вы сами сказали, что у vk_api документация больше, и, как я понял, в репозитории pip vk не обновлялась уже больше года.

просто я не вижу смысла писать о том, о чем уже хорошо написано.
Насчет обновлений, да. Уже не первый раз так долго нет обновлений для этой библиотеки.
Выбрал, кстати, еще по одной причине: слишком уж в ней все просто) все-таки в vk_api будет больше кода и конструкции более сложные, но возможностей с ней больше. Конечно, для каких-то простых действий, мне кажется, что лучше брать как раз библиотеку vk.
Простите, но мне кажеться, что эта статья это не уровень хабра, а максимум личного блога.
Можно смело шагать по топовым либам из pypi и по пять постов в день делать так. :)
А еще существует библиотека vk-requests, которая является улучшенным форком библиотеки 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.

Еще бы хотя бы рассказали как получить токен для стороннего пользователя…
Есть же официальная документация VK: Getting a Token.
Смотрите, какие permissions вам нужны, пишите их в качестве параметра ссылки по примеру «Request example» и, собственно, у вас есть токен.
в общем, в приложении этого нет, понятно. надо писать вручную. в python-social-auth есть нечто подобное, но тоже придется допиливать чтобы совместить все это хозяйство.
Хм, как по мне, достаточно документации по API на сайте самого VK.

На момент декабря 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'}

Sign up to leave a comment.

Articles