У меня есть файл HTML, и я читаю с Python, и я хотел бы, чтобы при печати я его настраивал.
Сначала я должен напечатать название страны, а затем имя игрока, которому они принадлежат. их страна.
Мой HTML файл выглядит так:
<ul>
<li>
Australia
<ol>
<li>Steve Smith</li>
<li>David Warner</li>
<li>Aaron Finch</li>
</ol>
</li>
<li>
Bangladesh
<ol>
<li>Shakib Al Hasan</li>
<li>Tamim Iqbal</li>
<li>Mushfiqur Rahim</li>
</ol>
</li>
<li>
England
<ol>
<li>Ben Stokes</li>
<li>Joe Root</li>
<li>Eoin Morgan</li>
</ol>
</li>
Теперь я хочу соскоблить эти данные из моего HTML файла:
Australia - Steve Smith, David Warner, Aaron Finch
Bangladesh - Shakib Al Hasan, Tamim Iqbal, Mushfiqur Rahim
England - Ben Stokes, Joe Root, Eoin Morgan
Но я могу только перебирать имена игроков. Это мой код:
import re
file_name = "team.html"
mode = "r"
with open(file_name, mode) as fp:
team = fp.read()
pat = re.compile(r'<li>(.*?)</li>')
result = pat.findall(team)
res = ", ".join([str(player) for player in result])
print(res)
Кроме того, я не использую никакой пакет, такой как bs4. Я хотел бы решить эту проблему с помощью регулярных выражений.