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

新手向:如何用Python实现lovecherry.es商品图片逐张下载?

从lovecherry.es下载商品高清图片的Python实现(新手版)

一、先找到高清图的真实链接

你之前下载的是小图,大概率是抓取了页面上的缩略图链接。要拿到高清图,得先搞清楚网站把高清链接藏在哪:

  1. 打开任意商品页面,右键点击「下载」按钮,选择「检查」(Chrome/Firefox都有这个功能)
  2. 在弹出的开发者工具「Elements」面板里,找到这个下载按钮的HTML标签(一般是<a>标签)
  3. 查看标签里的href属性,这个就是高清图的直链;如果是相对路径(比如开头是/),要把它和网站域名拼接成完整URL(比如https://www.lovecherry.es + 相对路径)
  4. 也可以观察规律:比如缩略图链接是https://cdn.lovecherry.es/s/abc.jpg,高清图可能是把s/换成l/,变成https://cdn.lovecherry.es/l/abc.jpg,这种情况直接替换字符串就行

二、Python代码实现(一步一步来)

1. 先装必要的库

打开命令提示符(Windows)或终端(Mac/Linux),输入以下命令安装需要的工具:

pip install requests beautifulsoup4

2. 完整代码(带注释)

把下面的代码复制到Python文件里(比如download_cherry.py),然后按注释提示修改参数:

import requests
from bs4 import BeautifulSoup
import os
# 可选:如果需要延迟避免被封,导入time库
# import time

# 获取单个商品页面的所有高清图片链接
def get_highres_links(product_page_url):
    # 模拟浏览器请求,避免被网站拦截
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/118.0.0.0 Safari/537.36"
    }
    # 发送请求获取页面内容
    res = requests.get(product_page_url, headers=headers)
    res.encoding = "utf-8"  # 确保中文不乱码
    # 解析HTML页面
    soup = BeautifulSoup(res.text, "html.parser")
    
    # 这里替换成你找到的下载按钮的CSS选择器
    # 比如你检查后发现下载按钮的class是"product-download",就写".product-download"
    download_btns = soup.select(".download-btn")
    # 提取所有高清链接
    highres_urls = []
    for btn in download_btns:
        if "href" in btn.attrs:
            link = btn["href"]
            # 如果是相对路径,拼接成完整URL
            if link.startswith("/"):
                link = "https://www.lovecherry.es" + link
            highres_urls.append(link)
    return highres_urls

# 下载图片到本地文件夹
def save_images(image_urls, save_dir):
    # 创建保存文件夹,不存在就新建
    if not os.path.exists(save_dir):
        os.makedirs(save_dir)
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/118.0.0.0 Safari/537.36"
    }
    
    for index, url in enumerate(image_urls):
        try:
            # 发送请求下载图片
            img_res = requests.get(url, headers=headers)
            img_res.raise_for_status()  # 如果请求失败,直接报错
            
            # 生成文件名:可以用原URL里的文件名,或者自定义序号
            # 用原文件名:filename = url.split("/")[-1]
            filename = f"商品图_{index+1}.jpg"
            save_path = os.path.join(save_dir, filename)
            
            # 写入文件
            with open(save_path, "wb") as f:
                f.write(img_res.content)
            
            print(f"搞定:{save_path}")
            # 可选:每下载一张停1秒,避免请求太频繁被封
            # time.sleep(1)
        except Exception as e:
            print(f"下载失败 {url}:{str(e)}")

# 主程序:修改这里的参数
if __name__ == "__main__":
    # 替换成你要爬的商品页面URL
    target_product_url = "https://www.lovecherry.es/你的商品页面链接"
    # 替换成你想保存图片的本地文件夹路径(比如电脑桌面的lovecherry_images文件夹)
    save_folder = "./lovecherry_images"
    
    # 第一步:获取高清链接
    links = get_highres_links(target_product_url)
    if not links:
        print("没找到高清链接!检查一下下载按钮的CSS选择器是不是写错了")
    else:
        # 第二步:下载图片
        save_images(links, save_folder)

三、新手必看注意事项

  • 调整CSS选择器:代码里的.download-btn是假设的,你必须自己用浏览器开发者工具找真实的选择器。比如右键下载按钮→检查,看标签的class属性,比如<a class="product-img-download" href="xxx">,那选择器就写.product-img-download
  • User-Agent不能丢:网站会识别请求来源,不加User-Agent容易被拒绝访问
  • 反爬应对:如果下载时出现403错误,或者被限制,可以加time.sleep(1)(需要导入time库),让程序每下载一张停1秒;如果需要登录才能下载,那新手可以先手动登录浏览器,复制页面的Cookie,加到headers里(比如headers["Cookie"] = "你复制的Cookie内容")
  • 路径问题:保存文件夹路径如果是绝对路径,比如Windows的C:\Users\你的名字\Desktop\cherry_images,要注意把反斜杠改成双反斜杠\\或者正斜杠/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:23:21