1

可能重复:
从python中的字符串中剥离html

在制作类似应用程序的小型浏览器时,我面临着拆分不同标签的问题。考虑字符串

<html> <h1> good morning </h1> welcome </html>

我需要以下输出:['早上好','欢迎']

我怎么能在python中做到这一点?

4

3 回答 3

3

我会使用xml.etree.ElementTree

def get_text(etree):
    for child in etree:
        if child.text:
           yield child.text
        if child.tail:
           yield child.tail

import xml.etree.ElementTree as ET
root = ET.fromstring('<html> <h1> good morning </h1> welcome </html>')
print list(get_text(root))
于 2012-10-08T18:19:40.770 回答
1

您可以使用 pythons html / xml 解析器之一。

美丽的汤很受欢迎。lmxl 也很受欢迎。

以上是您也可以使用标准库的第三方包

http://docs.python.org/library/xml.etree.elementtree.html

于 2012-10-08T18:10:50.773 回答
0

我会使用 python 库Beautiful Soup来实现你的目标。在它的帮助下,这只是几行:

from bs4 import BeautifulSoup
soup = BeautifulSoup('<html> <h1> good morning </h1> welcome </html>')
print [text for text in soup.stripped_strings]
于 2012-10-08T18:29:44.573 回答