Как я могу спарсить ссылку с этой страницы?
Есть страница сайта https://cq.ru/tournaments/dota-2. С нее мне нужно спарсить ссылку именно на тот турнир, по которому сейчас идет трансляция.
То есть если в
<div class="tournament__meta"> Матч идет сейчас: <span>Cybercats vs YNT <span class="color-orange fwb">live</span> </span> </div>
тег <span class="color-orange fwb">live</span> содержит в себе "live", то нужно взять атрибут href тегa <a>, который будет родителем именно этого тега <span>
Перепробовал всё подряд, ничего не могу сделать
Ответы (1 шт):
Автор решения: DiMithras
→ Ссылка
import requests
from bs4 import BeautifulSoup
url = r'https://cq.ru/tournaments/dota-2'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'lxml')
matches_live = soup.find_all("span", string="live")
for match in matches_live:
info = match.find_parent('div', {'class': 'tournament__info'})
info = info.find('div', {'class': 'tournament__middle'}).text.strip()
link = match.find_parent('a')['href']
print('{}\r\n{}\r\n'.format(info, link))
Вывод:
Тир-2 Dota 2 2022 BTS Pro Series Season 13: Americas
https://cq.ru/tournaments/dota-2/2022-bts-pro-series-season-13-americas-bts-am
Тир-3 Dota 2 2022 Claro Gaming Apu League Season 5
https://cq.ru/tournaments/dota-2/2022-claro-gaming-apu-league-season-5-claro
