
说明
1、htmlparser提供了一种方便简洁的处理html文件的方法。
它根据树形结构将html页面中的标签分析成一个节点,一种类型的节点对应一个类,通过调用它可以轻松访问标签中的内容。
2、html本质上是xml的子集,但是html的语法没有html严格,不能用标准的DOM或者SAX来分析html。
实例
fromhtml.parserimportHTMLParser
fromhtml.entitiesimportname2codepoint
classMyHTMLParser(HTMLParser):
defhandle_starttag(self,tag,attrs):
print('<%s>'%tag)
defhandle_endtag(self,tag):
print('</%s>'%tag)
defhandle_startendtag(self,tag,attrs):
print('<%s/>'%tag)
defhandle_data(self,data):
print(data)
defhandle_comment(self,data):
print('<!--',data,'-->')
defhandle_entityref(self,name):
print('&%s;'%name)
defhandle_charref(self,name):
print('&#%s;'%name)
parser=MyHTMLParser()
parser.feed('''<html>
<head></head>
<body>
<!--testhtmlparser-->
<p>Some<ahref=\"#\">html</a>HTMLtutorial...<br>END</p>
</body></html>''')
//test结果
<html>
<head>
</head>
<body>
<!--testhtmlparser-->
<p>
Some
<a>
html
</a>
HTMLtutorial...
<br>
END
</p>
</body>
</html>
以上就是python中htmlparser解析html,希望对大家有所帮助。更多Python学习指路:Python基础教程