python中htmlparser解析html

说明

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基础教程

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。