python 模块-使用HTMLParser 解析html
2014-08-29 17:55
871 查看
python里面的HTMLParser解析html,跟c++和其他语言的html库解析不同,是使用类继承的方式。
通过重实现HTMLParser类的几个函数,来达到解析html的目的。
主要的重载的函数有:
handle_starttag #开始标签的解析
handle_endtag #结束标签的解析
handle_data #标签内数据的解析
下面通过一个例子看学习下具体的使用(这个例子是python主页上的一个例子):
源html为:
输出结果为:
总结:
1)继承HTMLParser类
class MYParser(HTMLParser):
2)def handle_starttag(self, tag, attrs) #重定义解析开始标签,tag为标签,attrs是标签的属性及属性值:是个dict
#这儿有一个例子,提取网页中的网址
3) def handle_endtag(self, tag): #重定义解析结束标签
4)def handle_data(self, data): #重定义解析数据
通过重实现HTMLParser类的几个函数,来达到解析html的目的。
主要的重载的函数有:
handle_starttag #开始标签的解析
handle_endtag #结束标签的解析
handle_data #标签内数据的解析
下面通过一个例子看学习下具体的使用(这个例子是python主页上的一个例子):
from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def handle_starttag(self, tag, attrs): print("Encountered a start tag:", tag) def handle_endtag(self, tag): print("Encountered an end tag :", tag) def handle_data(self, data): print("Encountered some data :", data) parser = MyHTMLParser() parser.feed('<html><head><title>Test</title></head>' '<body><h1>Parse me!</h1></body></html>')
源html为:
<html> <head> <title>Test</title> </head> <body> <h1>Parse me!</h1> </body> </html>
输出结果为:
Encountered a start tag: html Encountered a start tag: head Encountered a start tag: title Encountered some data : Test Encountered an end tag : title Encountered an end tag : head Encountered a start tag: body Encountered a start tag: h1 Encountered some data : Parse me! Encountered an end tag : h1 Encountered an end tag : body Encountered an end tag : html现在标签内容都能解析了。
总结:
1)继承HTMLParser类
class MYParser(HTMLParser):
2)def handle_starttag(self, tag, attrs) #重定义解析开始标签,tag为标签,attrs是标签的属性及属性值:是个dict
#这儿有一个例子,提取网页中的网址
3) def handle_endtag(self, tag): #重定义解析结束标签
4)def handle_data(self, data): #重定义解析数据
相关文章推荐
- 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)(转)
- python模块之 HTMLParser: 解析html,获取url
- python模块学习---HTMLParser(解析HTML文档元素)
- Python2.7 使用HTMLParser简单解析HTML
- 黄聪:使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)
- 黄聪:使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)
- 使用Python的HTMLParser解析HTML文本
- 使用HTMLParser模块解析HTML页面
- [转载]python模块学习---HTMLParser(解析HTML文档元素)
- 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies
- python模块学习---HTMLParser(解析HTML文档元素)
- Python中使用HTMLParser解析html实例
- 在Python中使用HTMLParser解析HTML的教程
- 使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies .
- python模块学习---HTMLParser(解析HTML文档元素)
- python模块学习---HTMLParser(解析HTML文档元素)
- Python HTMLParser模块解析html获取url实例
- 【python】使用HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies
- 【转】使用Python中HTTPParser模块进行简单的html解析
- Python中使用HTMLParser解析html实例