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

如何用Python+Selenium爬取亚马逊商品页首张大图的src链接

问题原因分析

  • 原代码直接定位页面第一个<img>标签,取到的是亚马逊站点logo等非目标元素,无法获取商品主图链接
  • 固定time.sleep稳定性差,容易出现页面未完全加载就执行元素定位的情况
  • 无头模式默认UA会被亚马逊反爬策略识别,可能返回异常页面导致找不到目标元素

调整后的实现代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 目标商品链接需用引号包裹为字符串格式
url = "https://www.amazon.fr/dp/B07CG3HFPV/ref=cm_sw_r_fm_api_glt_i_2RB9QBPTQXWJ7PQQ16MZ?_encoding=UTF8&psc=1"

options = Options()
options.headless = True
# 模拟正常浏览器UA,规避反爬检测
options.add_argument("user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")
# 兼容不同运行环境,避免启动报错
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome(options=options)
driver.get(url)

try:
    # 显式等待商品主图加载完成,最长等待10秒
    main_img = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "landingImage"))
    )
    # 获取大尺寸原图链接
    link_img = main_img.get_attribute("src")
    print(link_img)
finally:
    driver.quit()

关键调整说明

  • 亚马逊商品主图的固定ID为landingImage,直接通过ID定位可以精准找到目标元素
  • 替换固定等待为显式等待,只要元素加载完成就立即执行后续操作,兼顾稳定性和效率
  • 添加异常处理的最终退出逻辑,避免浏览器进程残留占用系统资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:54:04