Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 22, 2016 14:26:31

Funk2256
Зарегистрирован: 2016-02-22
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Conky + vk api + python

Доброго всем времени суток уважаемые.
Хотелось бы пообщаться со знающими людьми.
Если кратко. То хотелось бы научить системный монитор в 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)
точнее добавленно только owner_id=489,
Работа скрипта при запуске втерминале и выхлоп:
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}
Как понимаю скрипт сработал без ошибок.
То что видим в коньках:


Кто подскажет в чем соль и суть?

Офлайн

#2 Фев. 22, 2016 14:45:16

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Conky + vk api + python

Вы видите json, который получили в ответ по вашему запросу, а что вы собственно рассчитывали увидеть?



Отредактировано FishHook (Фев. 22, 2016 14:45:42)

Офлайн

#3 Фев. 22, 2016 14:55:33

Funk2256
Зарегистрирован: 2016-02-22
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Conky + vk api + python

А мне хотелось бы видеть содержание поста

Офлайн

#4 Фев. 22, 2016 14:56:30

Funk2256
Зарегистрирован: 2016-02-22
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Conky + vk api + python

Возможно я что то нет так объяснил

Офлайн

#5 Фев. 22, 2016 15:26:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Conky + vk api + python

Вы отправляете запрос, получаете ответ.
Вы ответ получили? Да, получили.
Если вы рассчитывали увидеть в ответе что-то другое, значит вы неправильно сформулировали запрос, либо вы просто не понимаете языка на котором вам отвечают. У вас проблемы с API вконтакта, вы от нас чего хотите то? Обращайтесь к Дурову в техподдержку, он за это деньги получает.



Отредактировано FishHook (Фев. 22, 2016 15:38:02)

Офлайн

#6 Фев. 22, 2016 15:44:56

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Conky + vk api + python

Судя по картинке - код на 3 питоне а запускется на 2
Кроме того - вам сначала нужно добиться просто вывести сообщение. А потом уже пихать в коньки его!!!



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Фев. 22, 2016 15:52:48

Funk2256
Зарегистрирован: 2016-02-22
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Conky + vk api + python

Я это конечно понимаю, мне нужно добиться получения нормального текста, ок. только как это сделать? Может мануалы или еще что то подскажете?

Офлайн

#8 Фев. 22, 2016 16:21:25

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Conky + vk api + python

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}
и есть нормальный стандартный ответ от сервера в формате json, другого вы не получите. Тот факт, что в этом ответе вы не видите нужной вам информации означает лишь одно: ВЫ ЗАДАЕТЕ НЕВЕРНЫЙ ВОПРОС СЕРВЕРУ.
Если вас интересует, какой же запрос будет верным, то вы адресуете его не туда - это форум по питону, а не техподдержка контакта, только разработчик АПИ знает, какие запросы в его системе валидны и что они вернут. Как я вам уже говорил, связывайтесь с разработчиками АПИ.
Ну да, вы пишите на питоне, но АПИ вконтакта - это не питон, это собственность господина Дурова. Он волен изменять свои интерфейсы как ему угодно, вот к нему и обращайтесь.



Офлайн

#9 Фев. 23, 2016 10:45:11

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Conky + vk api + python

Ваш вариант

# -*- 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version