Вы ничего не получаете, потому что нет фиксированного заголовка с именем Sports
, и он не работает как подстановочный знак.Если вы хотите получить значение атрибута title
, вы можете использовать get(attr_name)
для вашего объекта тега, который вы используете, используя find_all
.
from bs4 import BeautifulSoup
html = '''<span title="Sports Football">Football</span>
<span title="Sports Badminton">Tennis</span>
<span title="Sports Ski Jump">Ski Jump</span>'''
soup = BeautifulSoup(html,"lxml")
title = [s.get('title') for s in soup.find_all('span')]
title
>> ['Sports Football', 'Sports Badminton', 'Sports Ski Jump']
В дополнение к этому, если вам потребуется толькотекст для этого элемента, просто используйте метод .text
для объекта тега из find_all
.
sports = [s.text for s in soup.find_all('span')]
sports
>>['Football', 'Tennis', 'Ski Jump']