黑河做网站哪家好,东莞建设银行官方网站,吴江住房城乡建设局网站,前端学习网站建设教程使用DrissionPage获取页面已加载图片的步骤如下#xff1a;
解析DOM获取图片元素#xff1a;
# 获取所有img标签元素
img_elements page.eles(img)提取并处理图片URL#xff1a;
from urllib.parse import urljoin# 获取当前页面基础URL
base_url page.url# 提取并转换…使用DrissionPage获取页面已加载图片的步骤如下
解析DOM获取图片元素
# 获取所有img标签元素
img_elements page.eles(img)提取并处理图片URL
from urllib.parse import urljoin# 获取当前页面基础URL
base_url page.url# 提取并转换图片地址
image_urls []
for img in img_elements:src img.attrs.get(src) # 获取src属性if src:# 处理相对路径转绝对路径absolute_url urljoin(base_url, src)image_urls.append(absolute_url)过滤无效地址可选
# 移除空值和无效协议地址
valid_urls [url for url in image_urls if url and not url.startswith((data:, javascript:))]完整示例代码
from drission import DrissionPage
from urllib.parse import urljoin# 初始化DrissionPage需提前配置driver
page DrissionPage()
page.get(https://example.com) # 访问目标页面# 获取并处理图片地址
image_urls []
for img in page.eles(img):src img.attrs.get(src)if src:absolute_url urljoin(page.url, src)if absolute_url.startswith((http:, https:)):image_urls.append(absolute_url)print(找到图片地址)
for idx, url in enumerate(image_urls, 1):print(f{idx}. {url})关键点说明
✅ 直接解析已加载的DOM不会发起新请求✅ 自动处理相对路径如/images/logo.png转完整URL✅ 过滤数据URI和JS伪协议地址✅ 返回绝对URL可直接用于下载或分析
扩展应用
获取图片尺寸img.attrs.get(width)/img.attrs.get(height)判断图片是否加载完成img.attrs.get(complete) true获取懒加载图片需等待loadinglazy的图片实际加载后再提取
建议通过page.wait_load()确保页面完全加载后再执行提取操作以获取最完整的图片列表。