如何使用BeautifulSoup查找指定HTML标签并提取其中的src属性值
BeautifulSoup提取指定source标签src属性的操作方法
前置依赖
如果还没安装bs4,先执行安装命令:pip install beautifulsoup4
如果要使用更快的解析器,可以额外安装lxml:pip install lxml
操作步骤
- 导入BeautifulSoup类
- 加载HTML内容(支持直接传入HTML字符串、读取本地HTML文件两种方式)
- 筛选匹配
type="audio/mpeg"的source标签,避免误匹配其他source标签 - 调用
get()方法提取src属性值,该方法在属性不存在时会返回None,不会抛出异常
完整可运行示例
from bs4 import BeautifulSoup # 示例HTML内容,实际使用时替换为你自己的HTML内容或者从文件读取 # 从本地文件读取的写法: # with open('目标HTML文件路径.html', 'r', encoding='utf-8') as f: # html_content = f.read() html_content = ''' <source type="audio/mpeg" src="/us/media"> ''' # 初始化解析器,html.parser是Python内置不需要额外安装,也可以换成'lxml' soup = BeautifulSoup(html_content, 'html.parser') # 定位目标标签 audio_source = soup.find('source', type='audio/mpeg') if audio_source: # 提取src属性 src = audio_source.get('src') print(f"提取到的src值为:{src}") else: print("未找到符合条件的source标签")
注意事项
- 如果你要查找的是多个同类型的source标签,可以把
find方法替换为find_all,遍历返回的列表逐个提取属性即可 - 直接用
audio_source['src']也可以取属性值,但如果标签没有src属性会抛出KeyError,非确定场景更推荐使用get()方法
内容的提问来源于stack exchange,提问作者PaliProx
相关产品推荐
相关产品推荐

