python自带的用于解析HTML的库HtmlParser

HtmlParser,顾名思义,是解析Html的一个工具。python自带的。
 
一、常用属性和方法介绍
 
HtmlParser是一个类,在使用时一般继承它然后重载它的方法,来达到解析出需要的数据的目的。
 
1.常用属性:
 
lasttag,保存上一个解析的标签名,是字符串。
 
2.常用方法:
 
handle_starttag(tag, attrs) ,处理开始标签,比如< div>;这里的attrs获取到的是属性列表,属性以元组的方式展示
 
handle_endtag(tag) ,处理结束标签,比如< /div>
 
handle_startendtag(tag, attrs) ,处理自己结束的标签,如< img />
 
handle_data(data) ,处理数据,标签之间的文本
 
handle_comment(data) ,处理注释,< !– –>之间的文本
 
二、基本使用
 
不多说,上代码
 
以上是根据python手册写的基本使用,解析了一个简单的html。可以运行看看,主要用于了解各个函数负责解析的部分,以及解析顺序。
 
三、实用案例
 
以下的实用案例均在上面的代码中修改对应函数,每个实例都是单独的。
 
解析的html如下:
 
1.获取属性的函数,是个静态函数,新增的。直接定义在类中,返回属性名对应的属性
 
2.获取所有p标签的文本,最简单方法只修改handle_data
 
3.获取css样式(class)为p_font的p标签的文本,使用了案例1,增加一个实例属性作为标志,选取需要的标签
 
4.获取p标签的属性列表
 
5.获取p标签的class属性
 
6.获取div下的p标签的文本
 
7.处理注释中的标签,若需要的数据在注释中,使用一般函数解析不到
 
处理方法为,写两个类,继承HTMLParser。在其中一个类的handle_comment里实例化解析类,和其他标签一样解析
 
这里的MyHTMLParser可以为基本使用中的MyHTMLParser,或者按需重写。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h63933.shtml

张贴在3