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

Я пытаюсь конвертировать кусок HTML-текста с BeautifulSoup. Вот пример:


    <p>
        Some text
        <span>more text</span>
        even more text
    </p>
    
        list item
        yet another list item
    

<p>Some other text</p>

    list item
    yet another list item

Я пытался сделать что-то вроде:

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)

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