Я пытаюсь преобразовать кусок текста HTML с помощью BeautifulSoup. Вот пример:
<div>
<p>
Some text
<span>more text</span>
even more text
</p>
<ul>
<li>list item</li>
<li>yet another list item</li>
</ul>
</div>
<p>Some other text</p>
<ul>
<li>list item</li>
<li>yet another list item</li>
</ul>
Я попытался сделать что-то вроде:
def parse_text(contents_string)
Newlines = re.compile(r'[\r\n]\s+')
bs = BeautifulSoup.BeautifulSoup(contents_string, convertEntities=BeautifulSoup.BeautifulSoup.HTML_ENTITIES)
txt = bs.getText('\n')
return Newlines.sub('\n', txt)
... но таким образом мой элемент span всегда находится на новой строке. Это, конечно, простой пример. Есть ли способ получить текст на странице HTML так, как он будет отображаться в браузере (не требуются какие-либо правила CSS, только обычные элементы div, span, li и т.д.) В Python?