私はBeautifulSoupでHTMLテキストのチャンクを変換しようとしています。次に例を示します。
<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)
...しかし、そうすれば、私のスパン要素は常に新しい行になります。もちろんこれは簡単な例です。Pythonでブラウザでレンダリングされる方法(cssルールは不要、通常のdiv、span、liなどの要素がレンダリングされる方法)としてHTMLページのテキストを取得する方法はありますか?