Вы проходите через <li>
, который является коррентным, но внутри l oop вы ссылаетесь на весь URL-адрес (soup
). Вам нужно использовать переменную fighter
из l oop. Поскольку существует больше <li>
элементов, у которых нет текста, вы можете работать с try
и except
.
for fighter in soup.find_all('li', attrs={'class': 'l-flex__item'}):
# nickname = fighter.span.text
try:
name = fighter.find('span', class_='c-listing-athlete__name').text
except:
pass
try:
record = fighter.find('span', class_='c-listing-athlete__record').text
except:
pass
print(f'Name:{name.strip()}, record:{record}')
вывод
Name:Shamil Abdurakhimov, record:20-5-0 (W-L-D)
Name:Ricardo Abreu, record:5-1-0 (W-L-D)
Name:Klidson Abreu, record:15-5-0 (W-L-D)
Name:Juan Adams, record:5-3-0 (W-L-D)
Name:Zarrukh Adashev, record:0-1-0 (W-L-D)
Name:Israel Adesanya, record:19-0-0 (W-L-D)
Name:Mariya Agapova, record:1-0-0 (W-L-D)
Name:Jessica Aguilar, record:20-8-0 (W-L-D)
Name:Kevin Aguilar, record:17-4-0 (W-L-D)
Name:Christian Aguilera, record:1-0-0 (W-L-D)
Name:Omari Akhmedov, record:20-4-1 (W-L-D)
Name:Omari Akhmedov, record:20-4-1 (W-L-D)