一、接口概述
义乌购关键字搜索接口(item_search)允许开发者通过关键词检索平台商品列表数据,支持分页、排序和字段筛选,可获取商品ID、标题、价格、销量等核心字段。该接口采用RESTful风格,支持HTTP GET/POST请求,返回JSON格式数据。
二、接口接入流程
- 开发者注册 访问义乌购开放平台完成企业认证 创建应用获取API密钥对(key和secret)
- 接口鉴权
在请求头或URL参数中传递密钥:
http Copy Code Authorization: Bearer <access_token>
或
三、请求参数说明 参数名 必填 示例值 说明 q 是 "蓝牙耳机" 搜索关键词 page 否 1 分页页码(默认1) page_size 否 50 每页数据量(最大100) sort 否 "price_asc" 排序方式(price_asc/price_desc/sales_asc等) price_range 否 "10,100" 价格区间过滤 category_id 否 "C123" 类目ID筛选 四、返回字段解析 json Copy Code { "status": 200, "data": { "total": 1500, "items": [ { "item_id": "P123456", "title": "无线蓝牙耳机5.3版", "price": 29.90, "sales": 1500, "shop_id": "S789", "main_image": "image.url" } ] } }
核心字段说明:
total:匹配商品总数(用于分页计算) item_id:商品唯一标识符 sales:近30天销量统计 五、Python代码实现 python Copy Code import requests import hashlib import time
def yiwugo_search(keyword, page=1, page_size=50): # 认证信息 api_key = "YOUR_API_KEY" secret = "YOUR_SECRET" timestamp = str(int(time.time()))
# 签名生成
sign_str = f"key={api_key}&secret={secret}×tamp={timestamp}"
signature = hashlib.md5(sign_str.encode()).hexdigest()
# 请求参数
params = {
"key": api_key,
"sign": signature,
"timestamp": timestamp,
"api_name": "item_search",
"q": keyword,
"page": page,
"page_size": page_size,
"sort": "sales_desc"
}
# 发送请求
response = requests.get("https://api.yiwugo.com/router", params=params)
if response.status_code == 200:
return response.json()
else:
raise Exception(f"API请求失败: {response.text}")
使用示例
result = yiwugo_search("蓝牙耳机", page=1) print(result)
六、注意事项 频率限制:免费版API限制100次/分钟,企业版可达500次/分钟 数据缓存:建议本地缓存高频查询结果(设置cache=yes参数) 分页策略:推荐采用滚动分页(page+page_size)而非游标分页 数据更新:商品价格/库存实时数据需调用item_get详情接口
相关技术栈推荐:
异步请求库:aiohttp(适用于高并发场景) 数据存储:MongoDB(应对非结构化JSON数据) 缓存方案:Redis(提升接口响应速度)