当前位置: 首页 > news >正文

【技术教程】Python/Node.js 调用拼多多商品详情 API 示例详解

在电商数据对接场景中,获取拼多多商品详情是常见需求。本文将详细介绍如何通过 Python 和 Node.js 调用拼多多商品详情 API,包含接口说明、请求参数、返回数据解析及完整代码示例,帮助开发者快速实现对接。

一、API 接口说明

本次示例使用拼多多的「商品详情查询接口」(实际开发需以官方最新文档为准),主要功能是通过商品 ID 获取商品的标题、价格、图片、规格等详细信息。

接口基本信息

  • 接口地址:
  • 请求方式:POST
  • 数据格式:JSON
  • 认证方式:通过client_idsign(签名)验证身份

二、请求参数说明

调用接口需传递以下核心参数(完整参数见官方文档):

参数名类型说明是否必填
typeString接口类型,固定为pdd.goods.detail.get
client_idString开发者应用 ID,在开放平台申请
timestampInt时间戳(秒级)
signString签名,通过密钥加密生成
goods_idString商品 ID(拼多多商品唯一标识)

三、签名生成规则

拼多多 API 采用签名机制验证请求合法性,签名生成步骤:

  1. 将所有请求参数(除sign外)按参数名 ASCII 码升序排序
  2. 拼接为key=value&key=value格式的字符串
  3. 在字符串末尾拼接&client_secret=你的密钥
  4. 对拼接后的字符串进行 MD5 加密,得到 32 位小写签名

四、Python 调用示例

环境准备

  • 安装依赖:requests(用于网络请求)
pip install requests

完整代码

import requests
import hashlib
import time
import json# 配置信息(请替换为你的实际信息)
CLIENT_ID = "你的client_id"
CLIENT_SECRET = "你的client_secret"
API_URL = "https://api.pinduoduo.com/router/rest"def generate_sign(params, client_secret):"""生成签名"""# 按参数名ASCII升序排序sorted_params = sorted(params.items(), key=lambda x: x[0])# 拼接参数字符串sign_str = "&".join([f"{k}={v}" for k, v in sorted_params]) + f"&client_secret={client_secret}"# MD5加密并转为小写sign = hashlib.md5(sign_str.encode()).hexdigest().lower()return signdef get_pdd_goods_detail(goods_id):"""获取拼多多商品详情"""# 构建基础参数params = {"type": "pdd.goods.detail.get","client_id": CLIENT_ID,"timestamp": int(time.time()),"goods_id": goods_id}# 生成签名params["sign"] = generate_sign(params, CLIENT_SECRET)try:# 发送POST请求response = requests.post(API_URL, data=params)result = response.json()# 解析返回结果if "error_response" in result:print(f"接口错误:{result['error_response']['error_msg']}")return None# 提取商品核心信息goods_info = result["goods_detail_get_response"]["goods_detail"]return {"goods_id": goods_info["goods_id"],"goods_name": goods_info["goods_name"],"min_group_price": goods_info["min_group_price"],  # 最低拼团价(分)"max_group_price": goods_info["max_group_price"],  # 最高拼团价(分)"sales_tip": goods_info["sales_tip"],  # 销量提示"main_image_url": goods_info["main_image_url"]  # 主图URL}except Exception as e:print(f"请求异常:{str(e)}")return None# 示例调用
if __name__ == "__main__":goods_id = "123456789"  # 替换为实际商品IDdetail = get_pdd_goods_detail(goods_id)if detail:print("商品详情:")print(json.dumps(detail, ensure_ascii=False, indent=2))

六、注意事项

  1. 权限申请:使用前需在拼多多开放平台注册账号,创建应用并申请商品详情接口的调用权限。
  2. 密钥安全client_secret是重要凭证,需妥善保管,避免泄露。
  3. 频率限制:API 调用有频率限制,需合理控制请求频率,避免触发限流。
  4. 参数更新:拼多多 API 可能会更新参数或返回格式,开发时需参考最新官方文档。
  5. 错误处理:实际开发中需完善错误处理逻辑,如网络超时、参数错误等场景。

通过以上示例,开发者可以快速实现 Python/Node.js 环境下的拼多多商品详情 API 调用。如需获取更多字段(如规格、详情页内容等),可参考官方文档扩展返回数据解析部分。

http://www.dtcms.com/a/581147.html

相关文章:

  • 微软加速在亚洲扩展云基础设施,推动区域数字化跨越式发展
  • 八股已死、场景当立(场景篇-分布式ID)
  • LeetCode 刷题【147. 对链表进行插入排序】
  • XMSRC4194_VC1:4通道192KHz ASRC音频采样率转换器产品介绍
  • 2025.11.06 力扣每日一题
  • Linux入门攻坚——53、drbd - Distribute Replicated Block Device,分布式复制块设备-2
  • 视频文件上传至服务器后浏览器无法在线播放
  • 鹤壁市建设工程交易中心网站魔改wordpress主题
  • 前端打包工具 - Rollup 打包工具笔记
  • 北大 UCLA 推出 ROCKET-2,AI 助力 3D 游戏零样本迁移
  • Linux 抓取 RAM Dump 完整指南
  • 用 Vue + DeepSeek 打造一个智能聊天网站(完整前后端项目开源)
  • 昌吉市建设局网站游戏工作室招聘信息
  • 基于MATLAB/Simulink的500kW三相光伏逆变器仿真
  • 大数据python招聘数据分析预测系统 招聘数据平台 +爬虫+可视化 +django框架+vue框架 大数据技术✅
  • 教育培训机构如何搭建自己的在线教育小程序?
  • Vue3+vant4+Webpack+yarn项目创建+vant4使用注意明细
  • 中山网站建设网站网站开发结构图
  • NumPy 简介与安装
  • AWS CloudFront 可观测最佳实践
  • 化学结构式乱码?InDraw与ChemDraw/Word/WPS兼容性完整指南
  • npm run 的工作原理和工作流程
  • 本地搭建Flinkcdc-mysql-kafka-flink-Doris实时数据集成
  • 极简风网站网站制作周期
  • 【Hadoop】hadoop3.3.1完全分布式配置
  • 如何安装 PDF Reader Pro for Mac v3.2.1.0?超简单DMG安装步骤(附安装包)
  • XML与CSS:构建现代网页的关键技术
  • 无锡品牌学会网站建设wordpress账号注册页面
  • 一次由 PageHelper 分页污染引发的 Bug 排查实录
  • 记录一个IDEA的神奇bug