如何通过API获取拼多多商品详情数据?

电子说

1.4w人已加入

描述

 一、核心流程

认证准备

注册开放平台账号,获取client_id和client_secret

调用鉴权接口换取access_token,有效期通常为$24times60$分钟

构造请求

 

GET /api/product/detail?  
  goods_id=12345678&  
  access_token=your_token  
API

 

必传参数

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$
      }
    ]
  }
}
API

 

二、关键技术点

签名机制
需按字典序排序参数并生成签名:
$$sign = MD5(text{param1=val1¶m2=val2}ldots & text{client_secret})$$

错误处理

 

{"code": 1001, "msg": "参数错误"}  // 需捕获 $code neq 0$ 的异常
API

 

限流策略

单账号默认$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")
API

 

四、常见问题

商品ID获取

通过商品链接解析:https://yangkeduo.com/goods.html?goods_id=12345678

商品ID为链接中的$goods_id$值

数据更新延迟

价格/库存数据存在$3sim5$分钟缓存

高实时场景建议配合消息推送API

提示:请严格遵守平台API调用频率限制,批量获取建议使用goods_list接口配合分页参数$page_size$和$page_num$。

如有任何疑问,欢迎大家留言探讨。

​审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • API

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分