一、注册与认证流程
1. 注册1688账号
- 企业用户:需提供营业执照(公司或个体工商户),完成企业实名认证。
- 个人用户:支持个人实名认证,但部分功能(如商品发布)受限。
- 注册入口 :访问1688开发平台或直接点击。
2. 成为开发者
- 访问开放平台 :前往1688开发平台。
- 提交资料 :填写企业信息、开发者信息,审核通过后获得App Key 和App Secret(用于API调用认证)。
3. 申请API权限
- 选择接口 :在开放平台控制台申请"商品信息查询"权限(如
alibaba.item.search
接口)。 - 特殊权限:部分接口需额外审核或付费,如企业版可提升调用配额。
二、API接口详解
1. 接口信息
- 接口名称 :
alibaba.item.search
(商品搜索) - 请求方式:HTTP GET或POST
- 基础URL :
https://gw.open.1688.com/openapi/param2/1/portals.open/api/findItem
2. 必填参数
参数名 | 必填 | 说明 | 示例值 |
---|---|---|---|
app_key |
是 | 应用标识(开放平台获取) | your_app_key |
timestamp |
是 | 当前时间戳(秒级) | 1721500000 |
sign |
是 | MD5签名(见下文生成方法) | A1B2C3D4E5F6G7H8 |
q |
是 | 搜索关键词 | 女装 |
page |
否 | 页码(默认1) | 1 |
pageSize |
否 | 每页数量(最大100) | 40 |
3. 签名生成方法
scss
python
def generate_sign(params, app_secret):
sorted_params = sorted(params.items())
query_string = ''.join([f"{k}{v}" for k, v in sorted_params])
sign_str = app_secret + query_string + app_secret
return hashlib.md5(sign_str.encode()).hexdigest().upper()
三、调用示例(Python)
csharp
python
import requests
import hashlib
import time
app_key = "your_app_key"
app_secret = "your_app_secret"
params = {
"method": "alibaba.item.search",
"app_key": app_key,
"timestamp": str(int(time.time())),
"format": "json",
"v": "2.0",
"q": "女装",
"page": 1,
"pageSize": 40
}
params["sign"] = generate_sign(params, app_secret)
response = requests.get(
"https://gw.open.1688.com/openapi/param2/1/portals.open/api/findItem",
params=params
)
print(response.json())
四、响应数据解析
1. 成功响应示例
json
json
{
"success": true,
"result": {
"totalResults": 12345,
"items": [
{
"title": "韩版仿兔毛围巾",
"price": "2.2",
"sales": 1234,
"picUrl": "https://img.1688.com/img/xxxxxx.jpg"
}
]
}
}
2. 关键字段说明
title
:商品标题price
:价格(单位:元)sales
:销量picUrl
:商品图片URL
五、注意事项
-
频率限制:
- 免费版:每分钟100次。
- 企业版:可申请提升配额,需联系平台。
-
分页处理 :通过循环
page
参数获取全部数据。 -
错误处理:
401
:Token失效,需重新获取access_token
。400
:参数错误,检查q
、page
等参数。
-
数据缓存:建议缓存商品数据,避免重复调用。
六、替代方案
- 第三方工具 :使用
Taobaoapi2014
等提供的API服务,简化调用流程。 - 数据抓取:通过合法途径模拟浏览器行为,但需遵守平台规则。
通过以上步骤,您可高效接入1688商品API,实现商品数据的自动化获取与分析。如有疑问,可在评论区交流!