@Tinord

Как правильно выполнить сортировку массива?

Это наверное очень заезжанная тема, но решения я не могу найти.
Хотел бы написать скрипт, который выводит сообщение от людей и фамилию самого этого человека. Примерно так:
Нет, я сегодня не смогу || Иванов
Проблема заключается в том, что запросов на сервер поступает слишком много из-за цикла for. Сама проблема в user = api.users.get(user_ids=id), именно из-за нее выскакивает ошибка "Too many requests per second".
Строка id = messages[z]['uid'] вытаскивает из массива JSON id этого человека, а затем определяется его фамилия и имя. Но т.к. запрос к серверу находится в цикле for сервер выдает ту ошибку.
Каким образом можно реализовать иначе вывод сообщения с именем отправителя?
Сам код работает, но останавливается на 6-м сообщении. 5 запросов в секунду - ограничение сервера.
import vk

session = vk.Session(access_token=' ')
api = vk.API(session)
messages = api.messages.get(count=200, out=0)
try:
    z = 200
    for message in messages:
        message_body = messages[z]['body']
        id = messages[z]['uid']
        user = api.users.get(user_ids=id)
        users = user[0]['last_name']
        print(message_body, '|| ', users)
        z -= 1
        if z == 1:
            break
except ValueError as err:
    print(err, ' ', 'message')
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
yarkov
@yarkov
Помог ответ? Отметь решением.
5 запросов в секунду - ограничение сервера

Ну так сделайте паузу в цикле
import time
time.sleep(2)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы