Отрисовал HTML в простой текст, используя Python

Я пытаюсь преобразовать кусок 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?

Ответы на вопрос(2)

Ваш ответ на вопрос