因为正则表达式吓到我了,所以我试图找到一种方法来删除所有HTML标记并从Python中的字符串中解析HTML实体.
使用lxml这是python最好的xml/html库.
import lxml.html t = lxml.html.fromstring("...") t.text_content()
如果你只是想清理lxml.html.clean 模块的html外观
使用BeautifulSoup!它是完美的,你可以获得可疑的美德标记,并需要从中得到合理的东西.只需传入原始文本,提取所有字符串标记,然后加入它们.
虽然我同意Lucas的观点,正则表达式并不那么可怕,但我仍然认为你应该使用专门的HTML解析器.这是因为HTML标准足够多(特别是如果你想解析从Internet上取下的任意"HTML"页面),你需要编写大量代码来处理极端情况.似乎python包含一个开箱即用的.
您还应该查看TidyLib的python绑定,它可以清理损坏的HTML,使任何HTML解析的成功率更高.