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

如何使用Python Selenium爬取单张指定图片并保存到本地文件夹

单张图片爬取实现方案

首先安装需要的第三方依赖:

  • 安装requests库用于下载图片:pip install requests

核心实现逻辑

  1. 等待搜索结果页加载完成,避免元素未渲染导致定位失败
  2. 定位首屏可见的第一张幼犬图片元素,提取图片的直链
  3. 发送网络请求获取图片的二进制数据
  4. 将二进制数据写入到桌面指定路径的文件中

完整可运行代码

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import requests
import time

# 注意路径前加r转为原始字符串,避免转义符报错
PATH = r"C:\Coding\Codes\Python\edgedriver\msedgedriver.exe"

# Selenium 4.x 版本请使用下面的写法初始化浏览器
# from selenium.webdriver.edge.service import Service
# driver = webdriver.Edge(service=Service(PATH))

# Selenium 3.x 版本用下方的写法
driver = webdriver.Edge(PATH)
driver.maximize_window()
driver.get("https://duckduckgo.com/")

searchbox = driver.find_element(By.ID, "search_form_input_homepage")
searchbox.send_keys("Puppy")
searchbox.send_keys(Keys.ENTER)

# 等待首屏图片加载完成
wait = WebDriverWait(driver, 10)
first_puppy_img = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".module--image__img")))
# 提取图片链接
img_url = first_puppy_img.get_attribute("src")
# 下载图片二进制内容
img_data = requests.get(img_url).content

# 保存到桌面,路径根据自己的实际用户名修改
save_path = r"C:\Users\John\Desktop\首屏幼犬图.jpg"
with open(save_path, "wb") as f:
    f.write(img_data)

# 操作完成关闭浏览器
driver.quit()

注意事项

  • 如果运行时提示元素定位失败,可以打开浏览器的开发者工具,找到首屏你要保存的那张图片,复制它的CSS选择器替换代码里的.module--image__img即可
  • Windows系统下所有文件路径都建议加r前缀,避免反斜杠被识别为转义符导致路径错误
  • 如果要保存其他位置的图片,只需要调整元素定位规则就能适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:36:07