python多快好省
```中的“python多快好省” 5. handle_comment(data) ,处理注释,之间的文本 data是``````中的“张三开发” # 演示代码 假设要解析的html代码如下: ``` 哈哈python解析html
本文讲解使用HTMLParser解析html
``` python代码如下: ``` html=''' 哈哈python解析html
本文讲解使用HTMLParser解析html
''' from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def handle_starttag(self, tag, attrs): print('处理开始标签和属性:', tag,',属性:',attrs,sep='') def handle_endtag(self, tag): print('处理结束标签:' , tag,sep='') def handle_startendtag(self, tag, attrs): print('处理单标签:' , tag,',属性:',attrs,sep='') def handle_data(self, data): print('处理标签中的文本:',data,sep='') def handle_comment(self, data): print('处理注释:', data,sep='') #调用执行 parser = MyHTMLParser() parser.feed(html) ``` 结果如下: ``` 处理标签中的文本: 处理开始标签和属性:html,属性:[] 处理标签中的文本: 处理开始标签和属性:head,属性:[] 处理结束标签:head 处理标签中的文本: 处理开始标签和属性:body,属性:[] 处理标签中的文本:哈哈 处理开始标签和属性:h1,属性:[] 处理标签中的文本:python解析html 处理结束标签:h1 处理标签中的文本: 处理单标签:br,属性:[] 处理标签中的文本: 处理开始标签和属性:p,属性:[] 处理标签中的文本:本文讲解使用HTMLParser解析html 处理结束标签:p 处理标签中的文本: 处理注释: 登录部分 处理标签中的文本: 处理单标签:input,属性:[('name', 'username')] 处理标签中的文本: 处理单标签:input,属性:[('name', 'password')] 处理标签中的文本: 处理单标签:input,属性:[('type', 'button'), ('value', '登录')] 处理标签中的文本: 处理结束标签:body 处理标签中的文本: 处理结束标签:html 处理标签中的文本: ``` # 分页网页抓取内容 假设我们要抓取标题和内容部分,如下: ```python解析html
本文讲解使用HTMLParser解析html
``` 得到上面的文字,python代码如下: ``` from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.is_h1=False self.is_p=False def handle_starttag(self, tag, attrs): if tag=='h1': self.is_h1=True elif tag=='p': self.is_p=True def handle_data(self, data): if self.is_h1: print('标题:',data,sep='') self.is_h1=False elif self.is_p: print('内容:',data,sep='') self.is_p=False parser = MyHTMLParser() parser.feed(html) ``` 结果如下: ``` 标题:python解析html 内容:本文讲解使用HTMLParser解析html ```