Этот парсер , берет название и время , но при запуске кода , ошибка IndexError: list index out of range

import requests
from bs4 import BeautifulSoup as BS

r = requests.get("https://www.vremyanamaza.ru/%D0%94%D0%B5%D1%80%D0%B1%D0%B5%D0%BD%D1%82/%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%BD%D0%B0%D0%BC%D0%B0%D0%B7%D0%B0-%D0%94%D0%B5%D1%80%D0%B1%D0%B5%D0%BD%D1%82/9851-mwl07")
html = BS(r.content,"html.parser")

for el in html.select('.item'):
    title = el.select(".prayerName")
    time = el.select(".prayerTime")

    print(title[0].text + "-" + time[0].text)

Ответы (2 шт):

Автор решения: CrazyElf

Добавьте проверку на пустой элемент:

import requests
from bs4 import BeautifulSoup as BS

r = requests.get("https://www.vremyanamaza.ru/%D0%94%D0%B5%D1%80%D0%B1%D0%B5%D0%BD%D1%82/%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%BD%D0%B0%D0%BC%D0%B0%D0%B7%D0%B0-%D0%94%D0%B5%D1%80%D0%B1%D0%B5%D0%BD%D1%82/9851-mwl07")
html = BS(r.content,"html.parser")

for el in html.select('.item'):
    title = el.select(".prayerName")
    time = el.select(".prayerTime")
    if not title or not time:
      continue
    print(title[0].text + "-" + time[0].text)
→ Ссылка
Автор решения: gil9red

Аналогично другому ответу, но с использованием select_one, вместо select:

import requests
from bs4 import BeautifulSoup as BS

r = requests.get("https://www.vremyanamaza.ru/%D0%94%D0%B5%D1%80%D0%B1%D0%B5%D0%BD%D1%82/%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%BD%D0%B0%D0%BC%D0%B0%D0%B7%D0%B0-%D0%94%D0%B5%D1%80%D0%B1%D0%B5%D0%BD%D1%82/9851-mwl07")
html = BS(r.content,"html.parser")

for el in html.select('.item'):
    title = el.select_one(".prayerName")
    time = el.select_one(".prayerTime")
    if not title or not time:
        continue

    print(title.text + "-" + time.text)
→ Ссылка