Fox7777
@Fox7777
Люблю python

Как исправить ошибку в коде python?

import vk_api
import time
import random
import requests
from bs4 import BeautifulSoup

url = 'https://koronavirusa.site/ru'
page = requests.get(url)
soup = BeautifulSoup(page.text, "html.parser")
container = soup.find('div', class_='sppb-row-container')
data = container.find_all('div', class_='sppb-addon-content')

infected = data[0].text
died = data[1].text
healed = data[2].text

url1 = 'https://www.coronavirussia.online/'
page1 = requests.get(url1)
soup1 = BeautifulSoup(page1.text, "html.parser")
stat1 = soup1.findAll('div', class_='h5 mb-0 font-weight-bold text-gray-800')
stat3 = soup1.findAll('div', class_='h5 mb-0 mr-3 font-weight-bold text-gray-800')
infected1 = stat1[2].text
died1 = stat1[3].text
healed1 = stat3[1].text

token = ""

vk = vk_api.VkApi(token=token)

vk._auth_token()

while True:
    try:
        messages = vk.method("messages.getConversations", {"offset": 0, "count": 20, "filter": "unanswered"})
        if messages["count"] >= 1:
            id = messages["items"][0]["last_message"]["from_id"]
            body = messages["items"][0]["last_message"]["text"]
            if body.lower() == "мир":
                vk.method("messages.send",
                          {"peer_id": id, "message": f'''Заражено: {infected} Умерло: {died} Выздоровело: {healed}''',
                           "random_id": random.randint(1, 2147483647)})
            elif body.lower() == "россия":
                vk.method("messages.send", {"peer_id": id,
                                            "message": f'''Заражено: {infected1} Умерло: {died1} Выздоровело: 
                                            {healed1}''',
                                            "random_id": random.randint(1, 2147483647)})
            else:
                vk.method("messages.send",
                          {"peer_id": id, "message": "Не понял тебя!", "random_id": random.randint(1, 2147483647)})
    except Exception as E:
        time.sleep(1)


ОШИБКА:
line 14, in <module>
died = data[1].text
IndexError: list index out of range
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Очевидно, что элементов с классом sppb-addon-content не найдено больше одного
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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