У меня есть одна часть кода, которая работает, и один блок, который не работает. Структура python и html мне кажется одинаковой, поэтому я не могу понять, почему у второго нет выхода.
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent": "Google Chrome v6.9"}
r = requests.get("https://www.oddschecker.com/horse-racing/will-rogers-downs/22:45/winner", headers=headers)
soup = BeautifulSoup(r.content, "html.parser")
for tag in soup.select('.bk-logo-main-90[data-bk]'):
print(tag['data-bk'],end=",")
for tag in soup.select('.popup selTxt[data-name]'):
print(tag['data-name'],end=",")
Первое для l oop дает мне список Двухбуквенные аббревиатуры, второе должно дать мне список бегунов в этой гонке, но нет вывода. Оба пытаются найти любые теги определенного класса, которые содержат тег другого имени, и возвращают значение этого тега.
Примеры спецификаций c html, на которые я смотрю в случае, если гонка уже запущена и страница удалена:
<a class="bk-logo-main-90 bk-logo-click" data-bk="B3" data-track="&lid=BookieLogo-B3&lpos=oddsTable" title="Bet365" href="javascript:void(0);">
<a class="popup selTxt" target="" title="View odds history for My Wise Cat" href="https://www.oddschecker.com/horse-racing/will-rogers-downs/22:45/winner/bet-history/my-wise-cat" data-name="My Wise Cat">