一、核心流程
注册开放平台账号,获取client_id和client_secret
调用鉴权接口换取access_token,有效期通常为$24\times60$分钟
GET /api/product/detail?
goods_id=12345678&
access_token=your_token
必传参数:
goods_id:商品ID(如$goods_id=12345678$)
access_token:认证令牌
响应示例
{
"code": 0,
"data": {
"goods_name": "商品标题",
"price": 99.00, // 价格字段 $price$
"sales": 10000, // 销量 $sales$
"sku_list": [
{
"spec": "规格",
"stock": 500 // 库存 $stock$
}
]
}
}
二、关键技术点
{"code": 1001, "msg": "参数错误"} // 需捕获 $code \neq 0$ 的异常
单账号默认$100$次/分钟
建议使用指数退避重试:
$$wait_time = base \times 2^{retry_count}$$
三、Python示例代码
import requests
def fetch_pdd_goods(goods_id, token):
url = "https://api.pinduoduo.com/goods/detail"
params = {
"goods_id": goods_id, # 商品ID需替换
"access_token": token # 动态令牌
}
try:
response = requests.get(url, params=params, timeout=5)
if response.json()["code"] == 0:
return response.json()["data"]
else:
print(f"错误码: {response.json()['code']}")
except Exception as e:
print(f"请求异常: {str(e)}")
调用示例
goods_data = fetch_pdd_goods("12345678", "your_token_here")
四、常见问题
通过商品链接解析:https://yangkeduo.com/goods.html?goods_id=12345678
商品ID为链接中的$goods_id$值
价格/库存数据存在$3\sim5$分钟缓存
高实时场景建议配合消息推送API
如有任何疑问,欢迎大家留言探讨。