Форум сайта python.su
Доброго всем времени суток уважаемые.
Хотелось бы пообщаться со знающими людьми.
Если кратко. То хотелось бы научить системный монитор в linux под названием Conky отображать 1 пост определенной группы из вк. Т.к. с python я только начал знакомиться, пробежался немного по синтаксису, и пытаюсь вникнуть в него. Собственно что уже сделано
#!/usr/bin/env python # -*- coding: UTF-8 -*- import vk_api def main(): """ Пример получения последнего сообщения со стены """ login, password = '****@xakep.ru', '******' vk_session = vk_api.VkApi(login, password) try: vk_session.authorization() except vk_api.AuthorizationError as error_msg: print(error_msg) return vk = vk_session.get_api() """ VkApi.method позволяет выполнять запросы к API. В этом примере используется метод wall.get (https://vk.com/dev/wall.get) с параметром count = 1, т.е. мы получаем один последний пост со стены текущего пользователя. """ response = vk.wall.get(owner_id=489, count=1) # Используем метод wall.get if response['items']: print(response['items'][0]) if __name__ == '__main__': main()
response = vk.wall.get(owner_id=489, count=1)
funk@funk-HP-Pavilion-g6-Notebook-PC:~$ cd ~/.scriptsКак понимаю скрипт сработал без ошибок.
funk@funk-HP-Pavilion-g6-Notebook-PC:~/.scripts$ ./vk.py
/usr/local/lib/python2.7/dist-packages/requests-2.9.1-py2.7.egg/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
SNIMissingWarning
/usr/local/lib/python2.7/dist-packages/requests-2.9.1-py2.7.egg/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
/usr/local/lib/python2.7/dist-packages/requests-2.9.1-py2.7.egg/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
{u'attachments': , u'text': u'', u'comments': {u'count': 0, u'can_post': 0}, u'post_type': u'post', u'likes': {u'count': 0, u'can_publish': 0, u'can_like': 1, u'user_likes': 0}, u'reposts': {u'count': 0, u'user_reposted': 0}, u'date': 1455399415, u'from_id': 107677774, u'id': 3129, u'post_source': {u'type': u'vk'}, u'owner_id': 489}
Офлайн
Вы видите json, который получили в ответ по вашему запросу, а что вы собственно рассчитывали увидеть?
Отредактировано FishHook (Фев. 22, 2016 14:45:42)
Офлайн
А мне хотелось бы видеть содержание поста
Офлайн
Возможно я что то нет так объяснил
Офлайн
Вы отправляете запрос, получаете ответ.
Вы ответ получили? Да, получили.
Если вы рассчитывали увидеть в ответе что-то другое, значит вы неправильно сформулировали запрос, либо вы просто не понимаете языка на котором вам отвечают. У вас проблемы с API вконтакта, вы от нас чего хотите то? Обращайтесь к Дурову в техподдержку, он за это деньги получает.
Отредактировано FishHook (Фев. 22, 2016 15:38:02)
Офлайн
Судя по картинке - код на 3 питоне а запускется на 2
Кроме того - вам сначала нужно добиться просто вывести сообщение. А потом уже пихать в коньки его!!!
Офлайн
Я это конечно понимаю, мне нужно добиться получения нормального текста, ок. только как это сделать? Может мануалы или еще что то подскажете?
Офлайн
Funk2256
вот это
{u'attachments': , u'text': u'', u'comments': {u'count': 0, u'can_post': 0}, u'post_type': u'post', u'likes': {u'count': 0, u'can_publish': 0, u'can_like': 1, u'user_likes': 0}, u'reposts': {u'count': 0, u'user_reposted': 0}, u'date': 1455399415, u'from_id': 107677774, u'id': 3129, u'post_source': {u'type': u'vk'}, u'owner_id': 489}
Офлайн
Ваш вариант
# -*- coding: utf-8 -*- import vk_api def main(): login, password = 'user', 'passs' vk_session = vk_api.VkApi(login, password) try: vk_session.authorization() except vk_api.AuthorizationError as error_msg: print(error_msg) return vk = vk_session.get_api() response = vk.wall.get(count=1) # Используем метод wall.get if response['items']: result = (response['items'][0]).get('text') print(result) if __name__ == '__main__': main()
Отредактировано ZerG (Фев. 23, 2016 10:48:44)
Офлайн