Python中如何使用HTMLParser解析HTML中的视频标签
发布时间:2023-12-26 03:20:05
在Python中使用HTMLParser解析HTML中的视频标签需要引入HTMLParser模块,并且创建一个自定义的HTML解析器类,然后重写解析开始和结束标签的方法。下面是一个简单的例子:
from html.parser import HTMLParser
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
if tag == 'video':
print('Found video tag')
for attr in attrs:
if attr[0] == 'src':
print('Video source:', attr[1])
def handle_endtag(self, tag):
if tag == 'video':
print('End of video tag')
# 创建一个HTML解析器对象
parser = MyHTMLParser()
# 输入HTML代码
html = """
<html>
<body>
<video src="video1.mp4"></video>
<video src="video2.mp4"></video>
</body>
</html>
"""
# 解析HTML代码
parser.feed(html)
在上面的例子中,我们创建了一个名为MyHTMLParser的自定义HTML解析器类,并重写了handle_starttag和handle_endtag方法。在handle_starttag方法中,我们判断如果标签为<video>,则打印出找到了视频标签,并通过遍历attrs参数获取视频的源地址并打印出来。在handle_endtag方法中,我们判断如果标签为<video>的结束标签,则打印出结束标签。
然后我们创建了一个MyHTMLParser对象,并将HTML代码作为参数传递给parser.feed方法来解析HTML代码。输出结果如下:
Found video tag Video source: video1.mp4 Found video tag Video source: video2.mp4 End of video tag End of video tag
从输出结果可以看出,解析器成功找到了两个视频标签,并分别提取了视频的源地址。
这是一个简单的示例,你可以根据自己的需求来扩展解析器的功能,并处理其他的HTML标签。
