Как достать то, что находится после span (селекторы html)
Как достать то, что находится после span?
Мой парсер делает немного не то
def box (film_url,headers):
smth_list = []
session = requests.Session()
request = session.get(film_url, headers = headers)
if request.status_code == 200:
soup = bs(request.content, 'html.parser')
divs = soup.select('div.short-info')
for div in divs:
years = div.select('span')
year = years[0].text if years else ''
smth_list.append(year)
print(smth_list)
else:
print('INSIDE PARSING FAILED')
['КиноПоиск:', 'IMDb:', 'Год:', 'Страна:', 'Жанр:', 'Перевод:', 'Дата выхода:', 'Длительность:', 'Режиссер:', 'В ролях:']
Но вывести я хочу то, что находится после span, то-есть сам рейтинг, год, страну и тд.
Для наглядности прикрепляют html код
<div class="fright">
<div class="short-info kp"><span>КиноПоиск:</span> 7.3</div>
<div class="short-info imdb"><span>IMDb:</span> 7.2</div>
<div class="short-info"><span>Год:</span> 1998</div>
<div class="short-info"><span>Страна:</span> США</div>
<div class="short-info"><span>Жанр:</span> мелодрама, комедия</div>
<div class="short-info"><span>Перевод:</span> Octopus, TVShows, GoldTeam,
Журавлев, Одноголосый, ColdFilm, SET</div>
<div class="short-info"><span>Дата выхода:</span> 21 сентября 1998</div>
<div class="short-info"><span>Длительность:</span> 22 мин.</div>
<div class="short-info"><span>Режиссер:</span> Джеймс Берроуз</div>
<div class="short-info"><span>В ролях:</span> Эрик МакКормак, Дебра Мессинг,
Меган Маллалли, Шон Хейс, Шелли Моррисон, Гарри Конник мл., Ли-Эллин Бейкер,
Бобби Каннавале, Том Гэллоп, Лесли Джордан</div>
Нужно чтобы выводило:
['1998','США','мелодрама, комедия',...]
Ответы (1 шт):
Автор решения: Wairua
→ Ссылка
from bs4 import BeautifulSoup as Soup
from bs4.element import Tag
if __name__ == '__main__':
html = """<div class="fright">
<div class="short-info kp"><span>КиноПоиск:</span> 7.3</div>
<div class="short-info imdb"><span>IMDb:</span> 7.2</div>
<div class="short-info"><span>Год:</span> 1998</div>
<div class="short-info"><span>Страна:</span> США</div>
<div class="short-info"><span>Жанр:</span> мелодрама, комедия</div>
<div class="short-info"><span>Перевод:</span> Octopus, TVShows, GoldTeam,
Журавлев, Одноголосый, ColdFilm, SET</div>
<div class="short-info"><span>Дата выхода:</span> 21 сентября 1998</div>
<div class="short-info"><span>Длительность:</span> 22 мин.</div>
<div class="short-info"><span>Режиссер:</span> Джеймс Берроуз</div>
<div class="short-info"><span>В ролях:</span> Эрик МакКормак, Дебра Мессинг,
Меган Маллалли, Шон Хейс, Шелли Моррисон, Гарри Конник мл., Ли-Эллин Бейкер,
Бобби Каннавале, Том Гэллоп, Лесли Джордан</div>
"""
h = Soup(html, 'html.parser').find_all('div', {'class': 'short-info'})
lst = []
div: Tag
for div in h:
span = div.find_next('span')
if span:
span.replace_with('')
lst.append(div.text.strip())
print(lst)