以下是基于京东拍立淘API的Python调用指南及示例代码:
核心步骤
- 注册与权限申请
- 账号注册及实名认证。
- 创建应用并申请“京东图片搜索拍立淘API”权限,审核通过后获取
App Key
和App Secret
。
- 接口参数说明
- 请求地址:
o0b.cn/anzexi
- 关键参数:
method
: 固定值jd.union.open.goods.query
app_key
: 您的应用标识360buy_param_json
: 包含图片URL或Base64编码的JSON字符串timestamp
: 当前时间戳(秒级)sign
: 通过MD5算法生成的签名(需结合App Secret
和参数排序)
- 签名生成算法
import hashlib |
|
def generate_sign(app_secret, params): |
sorted_params = sorted(params.items()) # 参数按键名排序 |
param_str = ''.join(f'{k}{v}' for k, v in sorted_params) + app_secret |
return hashlib.md5(param_str.encode()).hexdigest() |
- 完整Python代码示例
import requests |
import time |
|
def jd_pailitao_search(app_key, app_secret, image_url): |
url = "https://api.jd.com/routerjson" |
timestamp = str(int(time.time())) |
params = { |
"method": "jd.union.open.goods.query", |
"app_key": app_key, |
"360buy_param_json": f'{{"goodsIdList":[{{"goodsId":"{image_url}"}}]}}', |
"timestamp": timestamp |
} |
params["sign"] = generate_sign(app_secret, params) |
response = requests.get(url, params=params) |
return response.json() |
|
# 调用示例 |
app_key = "YOUR_APP_KEY" |
app_secret = "YOUR_APP_SECRET" |
image_url = "https://example.com/product.jpg" # 替换为实际图片URL |
result = jd_pailitao_search(app_key, app_secret, image_url) |
print(result) |
响应数据结构
成功返回的JSON示例:
{ |
"status": "success", |
"code": 200, |
"message": "请求成功", |
"result": { |
"total": 1, |
"items": [ |
{ |
"product_id": "100012345678", |
"product_name": "某品牌智能手机 128GB 星空黑", |
"image_url": "https://example.com/image1.jpg", |
"price": "1999.00", |
"score": 0.95, |
"stock": "有货", |
"category_name": "手机通讯" |
} |
] |
} |
} |
关键注意事项
- 图片要求:
- 支持本地文件上传(需Base64编码)或公开URL。
- 图片主体占比需≥60%,避免水印/遮挡,格式为JPEG/PNG。