如何用BeautifulSoup提取IMG标签的SRC属性?
提取IMG标签的SRC属性方法
如果你已经用BeautifulSoup完成了HTML解析,想要提取img标签的src属性,可参考以下代码实现:
场景1:直接从解析后的HTML中定位img标签
from bs4 import BeautifulSoup # 替换为你实际的HTML内容或解析对象 html = '<div class="clearfix hide-mobile" id="image-block"><span id="view_full_size"><span class="product_game-language"><svg class="svg-flag_en icon"><use xlink:href="#svg-flag_en"></use></svg></span><span class="ratio-container" style="max-width:372px"><img alt="Dominion - Plunder" height="372" id="bigpic" itemprop="image" loading="lazy" src="https://imageotoget.jpg" width="372"/></span></span></div>' soup = BeautifulSoup(html, 'html.parser') # 获取第一个img标签的src属性 # 方式1:直接取值(若img标签无src属性会报错) img_src = soup.find('img')['src'] # 方式2:更安全的取值方式(属性不存在时返回空字符串) img_src = soup.find('img').get('src', '')
场景2:从已获取的div元素中提取
如果你已经拿到了示例中的div列表(比如[<div...>]),可以先取出div元素再定位img:
# 假设div_list是你已获取的div元素列表 div_element = div_list[0] img_tag = div_element.find('img') img_src = img_tag.get('src', '')
补充说明
- 若页面存在多个img标签,用
find_all('img')获取所有标签后循环处理即可:img_tags = soup.find_all('img') for img in img_tags: print(img.get('src', '')) - 使用
.get()方法能避免因标签缺少属性导致的报错,推荐优先使用。
内容的提问来源于stack exchange,提问作者steve figueras
相关产品推荐
相关产品推荐

