You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python提取图片URL?——基于Beautiful Soup提取div标签data-src属性中图片链接的技术咨询

解决Beautiful Soup提取div中data-src属性的图片URL问题

别担心,这个场景其实很好处理!Beautiful Soup 完全支持提取HTML元素的自定义属性,哪怕目标元素不是常见的<img>标签也没关系。下面是具体的解决方案:

步骤1:导入BeautifulSoup并解析HTML

首先你需要把目标HTML内容传入BeautifulSoup进行解析,假设你已经获取到了这段HTML代码:

from bs4 import BeautifulSoup

# 你的目标HTML内容
html_content = '''<div class="theme-screenshot one attachment-theme-screenshot size-theme-screenshot wp-post-image loaded" data-featured-src="https://websitedemos.net/wp-content/uploads/2019/07/outdoor-adventure-02-home.jpg" data-src="https://websitedemos.net/wp-content/uploads/2019/07/outdoor-adventure-02-home.jpg" style='background-image: url(&quot;https://websitedemos.net/wp-content/uploads/2019/07/outdoor-adventure-02-home.jpg&quot;);'></div>'''

# 创建BeautifulSoup对象,指定解析器(比如'lxml'或者'html.parser')
soup = BeautifulSoup(html_content, 'html.parser')

步骤2:定位目标div元素并提取data-src属性

你可以用find()方法通过class定位到这个div,然后通过两种方式获取data-src属性的值:

方式1:直接像字典一样访问属性

如果确定这个div一定存在data-src属性,可以直接这样写:

# 定位到目标div
target_div = soup.find('div', class_='theme-screenshot')

# 提取data-src属性的值
image_url = target_div['data-src']
print(image_url)
# 输出:https://websitedemos.net/wp-content/uploads/2019/07/outdoor-adventure-02-home.jpg

方式2:使用get()方法(更安全)

如果不确定属性是否存在,用get()方法可以避免抛出KeyError,还能指定默认值:

image_url = target_div.get('data-src', '默认图片URL')
print(image_url)

原理说明

Beautiful Soup解析后的Tag对象本质上可以当作字典来处理,所有的HTML属性(包括自定义的data-*系列属性)都可以通过键值对的方式访问。get()方法则是字典的标准方法,用来安全地获取属性值。

内容的提问来源于stack exchange,提问作者Noshad70

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 20:37:29