二、核心参数说明
BASE_URL = "https://gw.api.alibaba.com/openapi/param2/1/com.alibaba"
ENDPOINT = "/v4/openapi/param2/api/product/search"
required_params = {
"keywords": "女鞋", # 搜索关键词
"pageSize": 20, # 每页数量
"pageNo": 1, # 页码
"sort": "price_asc", # 排序方式
"categoryId": "", # 类目ID(可选)
"highQualityItems": True # 是否只返回优质商品
}
三、Python调用示例
import requests
import hashlib
import time
class AlibabaSearchAPI:
def __init__(self, app_key, app_secret):
self.app_key = app_key
self.app_secret = app_secret
def generate_sign(self, params):
param_str = "&".join(f"{k}{v}" for k,v in sorted(params.items()))
return hashlib.sha1(f"{self.app_secret}{param_str}{self.app_secret}".encode()).hexdigest().upper()
def search_products(self, keywords, page=1):
params = {
"keywords": keywords,
"pageNo": page,
"pageSize": 20,
"timestamp": str(int(time.time()*1000)),
"app_key": self.app_key
}
params["sign"] = self.generate_sign(params)
response = requests.get(
f"{BASE_URL}{ENDPOINT}",
params=params,
headers={"Accept": "application/json"}
)
return response.json()
# 使用示例
api = AlibabaSearchAPI("YOUR_APP_KEY", "YOUR_APP_SECRET")
result = api.search_products("蓝牙耳机")
print(result["result"]["products"])
四、响应数据结构解析
成功响应包含以下核心字段:
{
"success": true,
"result": {
"total": 1520,
"products": [
{
"productId": "12345678",
"title": "无线蓝牙耳机5.0",
"price": {"amount": 15.99, "currency": "USD"},
"imageUrl": "https://...",
"minOrder": 100
}
]
}
}
四、最佳实践建议
实现请求重试机制(建议3次)
添加本地缓存(Redis/Memcached)
控制并发请求量(<5QPS)
使用协程提高IO效率