news 2026/4/17 20:02:21

1688获得商品类目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1688获得商品类目

一、前置准备(必须完成)

和之前一致,这是调用所有 1688 开放 API 的前提,缺一不可:

  1. 访问1688 开放平台,注册开发者账号并完成实名认证(个人 / 企业均可)。
  2. 创建应用,获取核心凭证:app_key(应用 ID)、app_secret(应用密钥)。
  3. 为应用申请alibaba.category.get接口的调用权限(类目查询专用,免费申请)。
  4. 了解核心规则:接口请求需要生成MD5 签名,时间戳为 13 位毫秒级,避免请求过期。

二、核心实现:获取 1688 商品类目

1. 接口关键信息(聚焦类目获取)
  • 请求地址:https://gw.open.1688.com/openapi/param2/2/portals.open/api/getCategory
  • 请求方式:GET(更简单,适合新手)
  • 数据格式:JSON(返回结果易解析)
  • 频率限制:单应用 QPS≤10,日调用≤5 万次(类目更新慢,建议本地缓存 24 小时以上)
2. 完整 Python 代码(可直接运行)

该代码会拉取全量类目树,并以层级化格式打印,方便你查找目标类目及其 ID。

python

运行

import requests import hashlib import time # ---------------------- 配置区(替换为你自己的凭证) ---------------------- app_key = "你的_app_key" app_secret = "你的_app_secret" # ------------------------------------------------------------------------ # 接口请求地址 category_api_url = "https://gw.open.1688.com/openapi/param2/2/portals.open/api/getCategory" def generate_md5_sign(params, app_secret): """ 生成1688 API要求的MD5签名 规则:app_secret + 按字母序拼接的参数键值对 + app_secret,MD5加密后转大写 """ # 按参数名字母顺序排序 sorted_params = sorted(params.items()) # 拼接参数字符串(无分隔符,直接键值相连) param_str = ''.join([f"{k}{v}" for k, v in sorted_params]) # 构造签名原始字符串 sign_origin = app_secret + param_str + app_secret # 生成MD5签名并转大写 md5_obj = hashlib.md5(sign_origin.encode('utf-8')) return md5_obj.hexdigest().upper() def get_1688_categories(): """ 调用1688接口,获取完整商品类目树 """ # 1. 构造基础请求参数(接口要求的必填参数) base_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. 生成签名并添加到参数中 base_params["sign"] = generate_md5_sign(base_params, app_secret) # 3. 发送GET请求 try: response = requests.get(category_api_url, params=base_params, timeout=30) response.raise_for_status() # 抛出HTTP请求错误(如404、500) return response.json() except requests.exceptions.RequestException as e: print(f"请求失败:{e}") return None def parse_and_print_categories(categories, level=0): """ 递归解析类目树,层级化打印类目信息(名称、ID、层级、是否叶子类目) :param categories: 类目列表(接口返回的children数组) :param level: 类目层级(用于缩进,提升可读性) """ for cat in categories: # 提取核心类目信息 cat_id = cat.get("categoryId", "未知ID") cat_name = cat.get("name", "未知名称") cat_level = cat.get("level", "未知层级") is_leaf = cat.get("isLeaf", False) # 是否为叶子类目(不可再下钻) leaf_tag = "[叶子类目]" if is_leaf else "[可下钻]" # 层级化打印 indent = " " * level print(f"{indent}[L{cat_level}] {cat_name}(ID:{cat_id}){leaf_tag}") # 递归打印子类目 if "children" in cat and cat["children"] and len(cat["children"]) > 0: parse_and_print_categories(cat["children"], level + 1) # ---------------------- 执行主流程 ---------------------- if __name__ == "__main__": # 1. 获取类目数据 category_result = get_1688_categories() if not category_result: print("未获取到类目数据") exit(1) # 2. 解析并打印类目(接口返回数据有固定结构) try: # 提取核心类目列表 category_list = category_result["result"]["categories"] print("=" * 80) print("1688商品类目树(层级化展示,可直接复制目标类目ID)") print("=" * 80) parse_and_print_categories(category_list) except KeyError as e: print(f"解析类目数据失败,缺少字段:{e}") print(f"接口返回完整数据:{category_result}")
3. 代码使用说明
  1. 替换配置区的app_keyapp_secret为你在开放平台获取的真实凭证。
  2. 安装依赖(若未安装):执行pip install requests
  3. 运行代码,控制台会输出层级化的类目列表,示例效果如下:

    plaintext

    [L1] 服装服饰(ID:10000)[可下钻] [L2] 女装(ID:10001)[可下钻] [L3] 上衣(ID:10002)[可下钻] [L4] T恤(ID:10003)[叶子类目] [L4] 衬衫(ID:10004)[叶子类目]
  4. 查找你需要的类目,复制对应的categoryId即可(后续调用榜单、商品列表等接口都会用到)。
4. 关键字段解释(新手必看)
字段名含义实用价值
categoryId类目唯一 ID后续接口的核心入参,必须准确
name类目中文名称用于识别类目,方便人工筛选
level类目层级1 级为顶级类目(如服装服饰),5 级为最细分类目
isLeaf是否为叶子类目true表示该类目无下级子类目,是最细分类,选品时常用

三、常见问题排查

  1. 签名错误(返回 "invalid sign")
    • 检查app_secret是否填写正确(不可多空格、少字符)。
    • 确认参数是否按字母序排序(代码已实现,无需手动修改)。
    • 时间戳是否为 13 位毫秒级(代码中time.time() * 1000已处理)。
  2. 权限不足(返回 403 Forbidden)
    • 未申请alibaba.category.get接口权限,需在开放平台应用的「权限管理」中补充申请并等待审核通过。
  3. 返回数据为空
    • 检查网络连接,或等待几分钟后重试(开放平台偶尔有临时波动)。
    • 确认账号已完成实名认证(未认证账号无法调用接口)。

总结

  1. 获取 1688 商品类目核心是调用alibaba.category.get接口,前提是完成开放平台的账号认证、应用创建和权限申请。
  2. 接口请求必须生成符合规则的 MD5 签名,否则会请求失败。
  3. 类目数据层级化递归解析,核心目标是提取categoryId,为后续调取榜单、商品数据打下基础。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:53:13

哲学社会科学:皇帝的新装

哲学社会科学:皇帝的新装 从前,在学术界有一个繁荣的王国,名叫“哲社国”。这里的居民以生产“思想”和“知识”为业,他们织造的“学术华服”——也就是论文、专著和理论——装饰着整个王国,象征着智慧与权威。 哲社国…

作者头像 李华
网站建设 2026/4/16 23:47:21

大专学历进入大型制造企业担任采购助理的路径分析

采购助理的核心职责与技能要求大型制造企业对采购助理的要求通常包括订单处理、供应商沟通、库存管理等基础操作能力。随着数字化转型,数据分析能力逐渐成为加分项,尤其在成本控制、供应链优化等环节。采购数据分析的必要性在制造业中,采购数…

作者头像 李华
网站建设 2026/4/17 20:53:29

【小程序毕设源码分享】基于SSM+小程序的中医“知源”小程序的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 15:25:20

1688获得商品类目调取商品榜单

获取商品类目 ID(alibaba.category.get) 该接口用于拉取 1688 全量类目树,获取目标类目的唯一categoryId,是调用榜单接口的前提。 1. 接口基础信息 请求地址:https://gw.open.1688.com/openapi/param2/2/portals.op…

作者头像 李华
网站建设 2026/4/16 18:10:33

来,今天咱们手把手盘一个COMSOL里特别带劲的介质球模型。这玩意儿在等离子体清洗、材料表面处理这些工业场景里挺常见,就拿氩气和氦气这两种常见工作气体说事儿

[COMSOL空气(氩气,氦气)介质球模型],采用等离子体模块,有需要的可以参考。先看模型骨架:直径5cm的球形反应腔,中间怼个直径1cm的介质球。重点是这个等离子体模块的骚操作…

作者头像 李华
网站建设 2026/4/16 16:58:10

亲测好用9个降AIGC平台 千笔·降AIGC助手帮你降AI率

AI降重工具,帮你轻松应对论文查重难题 在如今的学术写作中,越来越多的学生开始依赖AI工具进行内容创作。然而,随之而来的高AIGC率和重复率问题也让许多同学感到困扰。如何在保持文章逻辑与语义的前提下,有效降低AI痕迹和查重率&a…

作者头像 李华