如何统一提取含src与data-src属性的img标签图片URL?
统一提取不同属性存储的图片URL
修正后的完整代码
import requests from bs4 import BeautifulSoup url = 'website.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 匹配所有包含class_name类的img标签 img_tags = soup.find_all('img', class_='class_name') for img in img_tags: # 优先取src,无则取data-src img_url = img.get('src') or img.get('data-src') if img_url: print(img_url)
关键说明
- 标签匹配:
soup.find_all('img', class_='class_name')会匹配所有class包含class_name的img标签,不管是否带有late后缀类,一次性获取所有目标标签。 - 属性提取逻辑:利用Python的
or运算符特性,先尝试获取src属性,若该属性不存在(返回None),则自动 fallback 到data-src属性,实现两种属性的统一提取。 - 空值过滤:增加
if img_url判断,避免输出无效的空URL(若存在两个属性都缺失的异常标签)。
输出结果
https://website1.png https://website2.png https://website3.png
内容的提问来源于stack exchange,提问作者drdaaa7
相关产品推荐
相关产品推荐

