【发布时间】:2020-04-17 23:07:27
【问题描述】:
我想在 Python 中将 HTML 转换为纯文本,我希望结果看起来像是从浏览器复制的。我尝试了很多库,如html2text、html-text 和BeautifulSoup,但没有一个能得到我想要的结果。例如,下面的 HTML:
<div>aaa</div> <div>AAA</div>
<div><br></div>
<div>bbb</div> <div>BBB</div>
<div><br></div>
<div>ccc</div> <div>CCC</div>
在浏览器中看起来像这样:
aaa
AAA
bbb
BBB
ccc
CCC
但是当我使用html2text时,结果是
aaa
AAA
bbb
BBB
ccc
CCC
html-text 的结果是
aaa
AAA
bbb
BBB
ccc
CCC
而BeautifulSoup 只是删除标签:
aaa AAA
bbb BBB
ccc CCC
好吧,我也尝试了soup.get_text('\n') 和soup.get_text('\n', strip=True),但无法得到正确的结果。
有人有解决问题的好方法吗?非常感谢。
【问题讨论】:
-
你想要的正确结果究竟是什么?
-
HTML 是结构,CSS 是表现形式。
-
@Adamantoisetortoise 我希望结果和浏览器中显示的一样,就像从浏览器复制到文本编辑器一样。
标签: python html beautifulsoup html-to-text