python解析html模块_python 模块-使用HTMLParser 解析html

本文介绍了Python中HTMLParser模块用于解析HTML的基本原理和方法。通过继承HTMLParser类并重写handle_starttag(), handle_endtag()和handle_data()等方法,可以解析HTML的开始标签、结束标签和数据内容。示例代码展示了如何处理简单的HTML字符串,并输出相应的解析结果。此方法适用于简单的HTML解析需求。
摘要由CSDN通过智能技术生成

python里面的HTMLParser解析html,跟c++和其他语言的html库解析不同,是使用类继承的方式。

通过重实现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('

Test'

'

Parse me!

')

源html为:

Test

Parse me!

输出结果为:

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): #重定义解析数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值