接入1688获得商品类目
一、核心前提1688 开放平台接入必须完成这是所有接口调用的基础没有完成这一步后续代码无法正常运行。步骤 1注册并实名认证开发者账号访问1688 开放平台官网点击右上角「注册 / 登录」使用支付宝或淘宝账号登录。登录后进入「开发者中心」完成实名认证个人 / 企业均可个人认证上传身份证正反面完成人脸核验1-2 个工作日审核通过。企业认证上传营业执照、法人信息审核周期稍长1-3 个工作日。注意未完成实名认证的账号无法创建应用和调用任何接口。步骤 2创建应用获取接口凭证实名认证通过后在开发者中心点击「应用管理」→「创建应用」。填写应用信息应用名称自定义如「1688 类目查询工具」、应用描述、应用类型选择「工具应用」或「第三方应用」个人开发者选「工具应用」即可。提交应用后等待平台审核一般 1-2 个工作日审核通过后即可在应用详情页获取两个核心凭证app_key应用的唯一标识类似账号 ID。app_secret应用的密钥类似密码严禁泄露给他人不要硬编码到公开代码中。步骤 3申请类目接口调用权限进入应用详情页点击「权限管理」→「申请权限」。在权限列表中搜索「alibaba.category.get」商品类目查询接口勾选该权限并提交申请。该接口为免费公开权限一般提交后即时通过无需人工审核通过后即可正常调用。确认权限在「已拥有权限」中能看到「alibaba.category.get」即表示权限申请成功。二、技术落地调用接口获取商品类目Python 版前置准备安装依赖库本次实现仅需一个requests库用于发送 HTTP 请求打开终端执行以下命令安装bash运行pip install requests完整可运行代码该代码已封装好签名逻辑、请求逻辑和层级化解析逻辑你只需替换app_key和app_secret即可运行。python运行import requests import hashlib import time # ---------------------- 配置区替换为你自己的应用凭证 ---------------------- # 从1688开放平台应用详情页获取的app_key和app_secret APP_KEY 你的_app_key APP_SECRET 你的_app_secret # ---------------------------------------------------------------------------- # 1688商品类目接口地址固定不变 CATEGORY_API_URL https://gw.open.1688.com/openapi/param2/2/portals.open/api/getCategory def generate_1688_sign(params, app_secret): 生成1688 API要求的MD5签名核心步骤签名错误会导致请求失败 签名规则app_secret 按字母序拼接的参数键值对 app_secret → MD5加密 → 转大写 # 1. 按参数名进行字母序排序1688接口强制要求否则签名无效 sorted_param_items sorted(params.items()) # 2. 拼接参数字符串无分隔符直接键值相连如app_key123timestamp1699999999999 param_concat_str .join([f{key}{value} for key, value in sorted_param_items]) # 3. 构造完整的签名原始字符串 sign_raw_str app_secret param_concat_str app_secret # 4. 生成MD5签名并转大写 md5_hash hashlib.md5(sign_raw_str.encode(utf-8)) return md5_hash.hexdigest().upper() def get_1688_product_categories(): 调用1688接口获取完整的商品类目树数据 # 1. 构造接口必填参数参数名和取值均为1688接口固定要求不可修改 request_params { method: alibaba.category.get, # 接口方法名固定不变 app_key: APP_KEY, # 你的应用ID timestamp: str(int(time.time() * 1000)), # 13位毫秒级时间戳防止请求过期 format: json, # 返回数据格式固定为json v: 2.0, # 接口版本固定为2.0 sign_method: md5 # 签名方式固定为md5 } # 2. 生成签名并添加到请求参数中 request_params[sign] generate_1688_sign(request_params, APP_SECRET) # 3. 发送GET请求类目接口支持GET更简单易操作 try: # 发送请求设置30秒超时防止网络卡顿导致程序挂起 response requests.get(CATEGORY_API_URL, paramsrequest_params, timeout30) # 检查HTTP请求状态码200表示请求成功非200抛出异常 response.raise_for_status() # 解析返回的JSON数据并返回 return response.json() except requests.exceptions.RequestException as e: print(f❌ 请求类目接口失败{str(e)}) return None def print_category_tree(categories, level0): 递归打印类目树层级化展示方便查找目标类目ID :param categories: 类目列表接口返回的children数组 :param level: 类目层级用于缩进提升可读性 for category in categories: # 提取类目核心信息使用get方法防止字段缺失导致程序报错 cat_id category.get(categoryId, 未知ID) cat_name category.get(name, 未知名称) cat_level category.get(level, 未知层级) is_leaf category.get(isLeaf, False) # 是否为叶子类目无下级子类目 # 构造叶子类目标签 leaf_tag 【叶子类目】 if is_leaf else 【可下钻】 # 构造层级缩进每级增加2个空格 indent * level # 打印类目信息 print(f{indent}[{cat_level}级] {cat_name}ID{cat_id}{leaf_tag}) # 递归打印子类目如果当前类目有子类目 if children in category and category[children]: print_category_tree(category[children], level 1) # ---------------------- 主程序入口 ---------------------- if __name__ __main__: print( 开始获取1688商品类目数据...) print( * 80) # 1. 调用接口获取类目数据 category_data get_1688_product_categories() if not category_data: print(❌ 未获取到有效类目数据请检查配置和网络后重试) exit(1) # 2. 解析并打印类目树 try: # 提取类目列表1688接口返回数据有固定结构result → categories category_list category_data[result][categories] print(✅ 成功获取类目数据类目树如下) print( * 80) print_category_tree(category_list) except KeyError as e: print(f❌ 解析类目数据失败缺少核心字段{str(e)}) print(f 接口返回完整数据{category_data})代码使用步骤替换代码中「配置区」的APP_KEY和APP_SECRET为你在开放平台获取的真实凭证复制粘贴不要多空格、少字符。打开终端切换到该代码文件所在目录。执行代码python 文件名.py如python 1688_category.py。查看控制台输出即可看到层级化的类目树找到你需要的类目并复制其categoryId。运行效果示例plaintext 开始获取1688商品类目数据... ✅ 成功获取类目数据类目树如下 [1级] 服装服饰ID1031900【可下钻】 [2级] 女装ID1031918【可下钻】 [3级] 上衣ID1031919【可下钻】 [4级] T恤ID1031920【叶子类目】 [4级] 衬衫ID1031921【叶子类目】 [3级] 下装ID1031922【可下钻】 [4级] 裤子ID1031923【叶子类目】三、常见问题排查新手高频踩坑签名错误返回「invalid sign」或「签名无效」核对APP_SECRET是否填写正确开放平台复制时避免复制到前后空格。确认时间戳是 13 位毫秒级代码中int(time.time() * 1000)已处理无需修改。检查参数是否按字母序排序代码已封装该逻辑无需手动干预。权限不足返回 403 Forbidden 或「无权调用该接口」确认已申请alibaba.category.get接口权限且权限状态为「已通过」。确认应用已审核通过未通过的应用无法调用任何接口。返回数据为空或解析失败缺少「result」或「categories」字段检查网络连接是否正常可尝试访问其他网站验证。查看控制台输出的「接口返回完整数据」确认是否为平台返回的错误信息如凭证过期、频率超限。确认账号已完成实名认证未实名认证账号无法获取有效数据。接口频率超限返回「request too frequent」1688 类目接口限制单应用 QPS≤10、日调用≤5 万次。类目数据更新缓慢一般 24 小时更新一次建议将获取到的类目数据本地缓存如保存为 JSON 文件避免重复调用接口。四、后续扩展获取类目后的常用操作本地缓存类目数据将获取到的类目数据保存为1688_categories.json文件后续直接读取文件无需重复调用接口。关键字筛选类目添加搜索功能根据类目名称快速查找目标categoryId如输入「女装」直接筛选出相关类目。对接商品榜单接口使用获取到的categoryId调用product.topList.query接口获取对应类目的商品榜单即你之前关注的需求。总结接入 1688 商品类目核心是完成「开放平台实名认证→创建应用→获取凭证→申请接口权限」这四步前置准备。接口调用的关键是生成符合规则的 MD5 签名参数必须按字母序排序时间戳为 13 位毫秒级。运行代码后层级化打印的类目树中categoryId是后续所有相关接口的核心入参需妥善保存。

相关新闻

银狐病毒查杀工具汇总+奇安信+360+深信服+启明星专杀工具

银狐病毒查杀工具汇总+奇安信+360+深信服+启明星专杀工具

银狐病毒是一种高度隐蔽的远程控制木马病毒,主要针对财务、税务等从业人员,通过伪装成正常文件诱导用户点击,进而窃取数据、实施诈骗或勒索。(1)银狐病毒专杀工具(深信服科技)(2&…

2026/7/5 12:45:24 阅读更多 →
怎么写毕业论文? 从选题到答辩,亲测有效的全流程攻略(附工具分享)

怎么写毕业论文? 从选题到答辩,亲测有效的全流程攻略(附工具分享)

谁懂啊家人们! 写毕业论文的那段时间,我简直被熬得头秃! 选题定了又改,改了又被导师打回; 大纲逻辑混乱,不知道怎么串联章节; 参考文献找了几十篇,要么不相关要么格式不对; 好不容易…

2026/7/3 15:33:47 阅读更多 →
<span class=“js_title_inner“>科学家对金属3D打印性能调控诞生新理解:无需后处理、不换成分,性能可调!</span>

<span class=“js_title_inner“>科学家对金属3D打印性能调控诞生新理解:无需后处理、不换成分,性能可调!</span>

美国能源部下属国家研究机构劳伦斯利弗莫尔国家实验室(LLNL)的科学家们最近的一项研究表明,3D打印金属的性能 可以在制造过程中进行 精确调整。研究团队通过改变打印高熵合金时的激光扫描速度,揭示了 冷却速率如 何影响金属凝固过程中的原子结构。研究结…

2026/7/3 15:33:49 阅读更多 →

最新新闻

Web即时通讯加密实战:从TLS到端到端加密的三种高效方案

Web即时通讯加密实战:从TLS到端到端加密的三种高效方案

1. 项目概述:为什么Web即时通讯必须谈加密?聊到Web即时通讯,很多人第一反应是功能实现:怎么建立WebSocket连接、怎么处理消息队列、怎么设计UI界面。但从业十年,我见过太多项目在初期对安全“偷懒”,结果在…

2026/7/5 23:47:14 阅读更多 →
基于YOLO26的文档表格识别技术解析与实践

基于YOLO26的文档表格识别技术解析与实践

1. 项目背景与核心价值文档表格识别一直是办公自动化和企业数字化转型中的关键痛点。传统OCR技术虽然能识别文字内容,但对于表格这种结构化数据的识别准确率往往不尽如人意。特别是在处理扫描件、倾斜拍摄或复杂排版的文档时,常规方法经常出现单元格错位…

2026/7/5 23:45:12 阅读更多 →
Java突变测试实战:Pitest与JUnit整合提升测试有效性

Java突变测试实战:Pitest与JUnit整合提升测试有效性

1. 项目概述:为什么我们需要Pitest? 在软件开发的日常里,我们写单元测试,运行JUnit,看到绿色的进度条,心里就踏实了。但这份“踏实”真的可靠吗?我经历过不止一次,一个看似覆盖全面的…

2026/7/5 23:43:10 阅读更多 →
FDSM模块提升YOLO26目标检测性能的技术解析

FDSM模块提升YOLO26目标检测性能的技术解析

1. 项目概述:FDSM模块如何提升YOLO26目标检测性能在目标检测领域,YOLO系列模型因其出色的实时性能而广受欢迎。然而,传统YOLO模型在处理复杂场景(如弱光环境、小目标或遮挡情况)时仍面临挑战。最近,我们团队…

2026/7/5 23:41:09 阅读更多 →
微信小程序用户数据解密:从session_key到AES-128-CBC的完整安全实践

微信小程序用户数据解密:从session_key到AES-128-CBC的完整安全实践

1. 项目概述与核心价值最近在做一个微信小程序项目,涉及到用户头像、昵称等敏感信息的获取与处理。这几乎是每个小程序开发者都会遇到的“必修课”,但微信为了用户隐私安全,对这些数据做了加密处理,不能直接在前端拿到明文。这就引…

2026/7/5 23:39:09 阅读更多 →
U-Net变体演进:医学图像分割的核心技术与优化策略

U-Net变体演进:医学图像分割的核心技术与优化策略

1. U-Net变体演进背景与核心价值2015年诞生的U-Net架构已经成为医学图像分割领域的里程碑式工作。其经典的编码器-解码器结构配合跳跃连接的设计,在数据量有限的情况下仍能获得精确的分割结果。但随着应用场景的复杂化和硬件算力的提升,原始U-Net逐渐暴露…

2026/7/5 23:37:08 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻