批量获取1688商品详情图及API接口调用实操指南
一、核心流程与工具准备
- 注册开发者账号
- 访问阿里巴巴开放平台,完成企业/个人实名认证,绑定支付宝账号。
- 创建应用并申请商品信息查询权限(如
alibaba.item.search
、item_get
接口),获取App Key和App Secret。
- API接口选择
- 商品详情接口:使用
item_get
(通过商品ID获取详情)或alibaba.cpsMedia.productInfo
(含图片、价格等)。 - 图片字段提取:响应数据中
pic_url
(主图)、item_imgs
(多图列表)、desc_img
(详情页图片)为关键字段。 - 示例接口调用:
python
import requests
from hashlib import md5
app_key = "YOUR_APP_KEY"
app_secret = "YOUR_APP_SECRET"
num_iid = "610947572360" # 商品ID
# 生成签名
def generate_sign(params):
sorted_params = sorted(params.items())
query_string = ''.join([f"{k}{v}" for k, v in sorted_params])
sign_str = f"{app_secret}{query_string}{app_secret}"
return md5(sign_str.encode()).hexdigest().upper()
# 构建请求参数
params = {
"key": app_key,
"api_name": "item_get",
"num_iid": num_iid,
"cache": "yes",
"result_type": "json",
"lang": "cn"
}
params["sign"] = generate_sign(params)
# 发送请求
response = requests.get("https://api-gw.onebound.cn/1688/item_get/", params=params)
if response.status_code == 200:
data = response.json()
item_imgs = data.get("item_imgs", []) # 提取图片列表
for img in item_imgs:
print(img["url"]) # 输出图片URL
- 商品详情接口:使用
二、批量下载图片实操
- 解析图片URL并下载
- 从接口返回的JSON中提取
item_imgs
或desc_img
字段的URL列表。 - 使用Python批量下载并保存:
python
import os
import requests
def download_images(url_list, save_dir):
if not os.path.exists(save_dir):
os.makedirs(save_dir)
for url in url_list:
try:
img_data = requests.get(url).content
file_name = url.split("/")[-1]
with open(f"{save_dir}/{file_name}", "wb") as f:
f.write(img_data)
print(f"下载成功: {file_name}")
except Exception as e:
print(f"下载失败: {url} - {e}")
# 示例调用
image_urls = ["https://img.1688.com/img/xxxxxx.jpg", ...]
download_images(image_urls, "./商品图片")
- 从接口返回的JSON中提取
- 第三方工具辅助
- 店雷达插件:安装浏览器插件后,进入1688商品详情页,点击“PC端下载”批量获取主图、SKU图、详情页图片,支持多商品链接批量处理。
- 星优图片下载器:导入商品链接列表(Excel格式),勾选“主图/详情图/SKU图”,自动分类下载到本地文件夹。
三、关键注意事项
- 频率限制与合规
- 免费版API每日调用上限5000次,企业版可申请提升至更高配额。
- 避免高频请求(建议间隔≥0.2秒),否则触发403权限错误或500服务器异常。
- 确保数据使用符合1688平台规则,禁止爬取敏感信息或用于非法用途。
- 数据完整性验证
- 商品详情页图片可能包含动态加载内容,需检查
desc
字段中的HTML代码,提取隐藏图片URL(如通过正则表达式匹配<img src="...">
)。 - 验证图片URL有效性,部分链接可能失效或需要登录验证。
- 商品详情页图片可能包含动态加载内容,需检查
- 错误处理与优化
- 处理API返回的错误码(如401 Token失效、400参数错误),重试机制或更新认证信息。
- 使用多线程/异步请求提升批量下载效率,但需控制并发量避免封IP。
四、进阶方案
- 分页批量获取商品ID:通过
alibaba.item.search
接口按关键词/类目分页查询商品列表,提取商品ID后循环调用详情接口。 - 数据存储与管理:将下载的图片按商品ID+类型(主图/详情图)命名,存储至云存储(如OSS)或本地目录,并关联数据库记录商品信息。
通过以上步骤,可实现1688商品详情图的自动化批量获取与存储,适用于电商选品、数据分析等场景。需注意遵守平台规则,合理使用API资源。