У меня есть что-то вроде этого:
<b>foo:</b> bar
<br />
<b>baz:</b>
<font color="green">YES</font> spam
<br />
<b>eggs:</b> ham
<br />
Теперь я хочу получить все эти строки между <br>
с.
Я могу сделать что-то вроде этого:
from bs4 import BeautifulSoup
# get the html here
soup = BeautifulSoup(content, 'html.parser')
for element in soup.find_all('b'):
print(element.next_sibling)
И это работает, но только для не инкапсулированного текста, т.е. в тегах <font>
. Таким образом, я получу bar
и ham
, но я не получу YES
и неожиданно для себя даже не получу spam
. Есть ли способ разобрать это без использования регулярных выражений?