Задать вопрос
@GoldGoblin

Python 3 как распарсить ответ от api.wall.get?

Добрый вечер! В python я нуб, при решении задачи по получению информации со стены группы vk столкнулся с проблемой. Не получается распарсить ответ от библиотеки vk.

запрос делаю так: api.wall.get(owner_id = -68471405, count = 1)

В ответ получаю следующее:
[54213, {'attachment': {'type': 'photo', 'photo': {'src_big': 'https://pp.userapi.com/c836439/v836439223/29aeb/_cN9Oc8IOCc.jpg', 'pid': 456329732, 'width': 960, 'aid': -7, 'src_xxbig': 'https://pp.userapi.com/c836439/v836439223/29aed/qDfDiM7ZHeo.jpg', 'user_id': 100, 'created': 1491854400, 'height': 719, 'owner_id': -68471405, 'src': 'https://pp.userapi.com/c836439/v836439223/29aea/18oYBAzKnZs.jpg', 'access_key': '90a6c8bb1b3f755509', 'text': '', 'src_xbig': 'https://pp.userapi.com/c836439/v836439223/29aec/S79RYK9lDis.jpg', 'src_small': 'https://pp.userapi.com/c836439/v836439223/29ae9/g8bFWmufJHs.jpg'}}, 'marked_as_ads': 0, 'to_id': -68471405, 'text': 'На перекрёстке Северного проспекта и улицы Есенина сбили человека (живой) службы все на месте', 'online': 1, 'attachments': [{'type': 'photo', 'photo': {'src_big': 'https://pp.userapi.com/c836439/v836439223/29aeb/_cN9Oc8IOCc.jpg', 'pid': 456329732, 'width': 960, 'aid': -7, 'src_xxbig': 'https://pp.userapi.com/c836439/v836439223/29aed/qDfDiM7ZHeo.jpg', 'user_id': 100, 'created': 1491854400, 'height': 719, 'owner_id': -68471405, 'src': 'https://pp.userapi.com/c836439/v836439223/29aea/18oYBAzKnZs.jpg', 'access_key': '90a6c8bb1b3f755509', 'text': '', 'src_xbig': 'https://pp.userapi.com/c836439/v836439223/29aec/S79RYK9lDis.jpg', 'src_small': 'https://pp.userapi.com/c836439/v836439223/29ae9/g8bFWmufJHs.jpg'}}, {'type': 'photo', 'photo': {'src_big': 'https://pp.userapi.com/c836439/v836439223/29af4/PslIEgoLyUw.jpg', 'pid': 456329733, 'width': 960, 'aid': -7, 'src_xxbig': 'https://pp.userapi.com/c836439/v836439223/29af6/_zuhHwz4pQU.jpg', 'user_id': 100, 'created': 1491854400, 'height': 719, 'owner_id': -68471405, 'src': 'https://pp.userapi.com/c836439/v836439223/29af3/P5NFKHacvSs.jpg', 'access_key': 'c206fa7805b38be06a', 'text': '', 'src_xbig': 'https://pp.userapi.com/c836439/v836439223/29af5/tVKZNYwsaVg.jpg', 'src_small': 'https://pp.userapi.com/c836439/v836439223/29af2/L4NrNXlXgWA.jpg'}}], 'post_source': {'type': 'vk'}, 'media': {'owner_id': -68471405, 'item_id': 456329733, 'thumb_src': 'https://pp.userapi.com/c836439/v836439223/29af3/P5NFKHacvSs.jpg', 'type': 'photo'}, 'from_id': -68471405, 'id': 6405955, 'likes': {'can_publish': 1, 'user_likes': 0, 'can_like': 1, 'count': 20}, 'reply_count': 5, 'post_type': 'post', 'date': 1491856306, 'signer_id': 4381223, 'comments': {'can_post': 1, 'count': 5}, 'reposts': {'user_reposted': 0, 'count': 1}}]

С этим ответом пытаюсь работать как со словарем (так пишут в документации), пример:
allWallPost['attachment']
Но получаю ошибку list indices must be integers or slices, not str
если так: allWallPost[0]['attachment']
То получаю такую ошибку: 'int' object is not subscriptable

type(allWallPost)
возвращает list.

Как правельней и быстрей всего распарсить ответ?
  • Вопрос задан
  • 577 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
allWallPost[1]['attachment']
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
for item in allWallPost:
  attachment = item['attachment']....

Просто у вас массив(список/list) объектов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 дек. 2024, в 16:13
50000 руб./за проект
23 дек. 2024, в 15:25
5000 руб./за проект
23 дек. 2024, в 14:47
4500 руб./за проект