如何获取html标记?

2024-06-16 11:56:12 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个这样的文本文件:

<html><head>Headline<html><head>more words
</script>even more words</script>
<html><head>Headline<html><head>more words
</script>even more words</script>

我怎样才能把这些标签放到这样的列表中:

<html>
<head>
<html>
<head>
</script>
</script>
<html>
<head>
<html>
<head>
</script>
</script>

Tags: 列表htmlmorescript标签headwordseven
2条回答

我想这就是你想要的:

html_string = ''.join(input_file.readlines())
matches = re.findall('<.*?>', html_string)
for m in matches:
    print m

希望这有帮助

Python对此有一个HTMLParser模块。

这里有一些代码可以满足您的需要:

from HTMLParser import HTMLParser

class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        print "<%s>"%tag

    def handle_endtag(self, tag):
        print "</%s>"%tag

parser = MyHTMLParser();
parser.feed("""<html><head>Headline<html><head>more words
        </script>even more words</script>
        <html><head>Headline<html><head>more words
        </script>even more words</script>
        """)

parser.feed中输入字符串

输出:

$ python htmlparser.py 
<html>
<head>
<html>
<head>
</script>
</script>
<html>
<head>
<html>
<head>
</script>
</script>

关于SO的讨论应该有助于:Using HTMLParser in Python efficiently

相关问题 更多 >