@lacevedoufe
Изучаю Python

Не понимаю, что не так с кодом парсера?

По видео уроку написал парсер сайта с играми, но при выполнении выдаёт ошибку
"IndexError: list index out of range"
Если из кода убрать "[0].text" в конце, то выдает список игр, но с элементами html, помогите сделать так, чтобы выдавало список игр без элементов html
import requests
from bs4 import BeautifulSoup as BS

def parse():
	URL = requests.get( 'https://stopgame.ru/review/new/stopchoise' )
	html = BS( URL.content, 'html.parser' )

	for element in html.select( '.item' ):
		title = element.select( '.caption > a' )
		print( title[0].text )

parse()
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
@galaxy
Этого достаточно
for element in html.select( '.item .caption > a' ):
    print( element.text )


Просто .item - это не только блоки с играми (а, например, еще элементы меню, у которых нет title.caption).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 18:46
3000 руб./за проект
28 нояб. 2024, в 17:46
10000 руб./за проект
28 нояб. 2024, в 17:38
12000 руб./за проект