Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 3, 2022 16:36:19

i8080
Зарегистрирован: 2022-02-03
Сообщения: 7
Репутация: +  0  -
Профиль  

Парсер: ошибка IndexError: list index out of range

Приветствую всех.
При попытке спарсить поледнюю новость из Источника скрипт выдает ошибку IndexError: list index out of range.

Вот часть кода на которую питон ссылается:

     # Поиск по всем елементам страницы внутри "div" с классом "news-list"
    for element in soup.find_all('div', class_='row main-news-row table-o3 rubric_list'):
        try:
            # Заголовок статьи
            title = element.find("span", class_="news-item-title").text.strip()
            print(title)
            # Ссылка на статью
            link = domen+element.find("a", class_="news-desc-long").get("href")        
            print(link)
            posts.append([title, link])
        except Exception as error:
            print(error)

Офлайн

#2 Фев. 3, 2022 18:12:23

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

Парсер: ошибка IndexError: list index out of range

 import requests
from bs4 import BeautifulSoup
session = requests.Session()
url = r'http://tv-gubernia.ru/novosti/proisshestviya/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0',
'Cookie': 'beget=begetok'
}
resp = session.get(url, headers=headers)
html = resp.text
soup = BeautifulSoup(html,'lxml')
class NewsParser:
    def __init__(self, soup):
        self.date = soup.find('span',class_="news-item-date").text
        self.title = soup.find('span', class_="news-item-title").text
        self.url_path= soup.a['href'] if soup.find('a',class_="news-desc-long") else None
last_news_block = soup.find('div',class_='news-item news-item-double')
if last_news_block:
    news = NewsParser(last_news_block)
    print(news.title)
    print(news.date)
    print(news.url_path)

вывод

 Директора воронежской компании задержали за коммерческий подкуп
Сегодня 09:41
/novosti/proisshestviya/kriminal/direktora_voronezhskoj_kompanii_zaderzhali_za_kommercheskij_podkup/

Отредактировано xam1816 (Фев. 3, 2022 18:13:13)

Офлайн

#3 Фев. 3, 2022 19:15:54

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

Парсер: ошибка IndexError: list index out of range

 new_lst = []
for element in soup.find('div', class_='row main-news-row table-o3 rubric_list').findChildren('div',recursive=False):
        # print(element)
        # print('\n===========\n')
        new_lst.append(NewsParser(element))
for n in new_lst:
    print('{:<30}{}'.format(n.date,n.title))

Сегодня 09:41                 Директора воронежской компании задержали за коммерческий подкуп
Вчера 10:59 Пешеход спровоцировал ДТП у Центрального рынка в Воронеже (ВИДЕО)
13:24, 01 февраля 2022 Один погиб и двое пострадали в ДТП на улице Софьи Перовской в Воронеже
12:31, 01 февраля 2022 Осуждённый за резонансное убийство у «Иль Токио» захотел досрочно выйти на свободу из воронежской колонии
19:02, 31 января 2022 Районы с самым высоким числом убийств назвала прокуратура Воронежской области

Process finished with exit code 0

Офлайн

#4 Фев. 4, 2022 10:41:31

i8080
Зарегистрирован: 2022-02-03
Сообщения: 7
Репутация: +  0  -
Профиль  

Парсер: ошибка IndexError: list index out of range

xam1816
Спасибо. Вы очень помогли

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version