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

使用 Python 调用商品条形码查询API并解析商品信息

在项目开发中,经常会遇到根据商品条码查询基础信息的需求,例如商品录入、数据校验、库存管理等。
本文以一个条形码查询接口为例,演示如何使用 Python 发起请求,并处理返回结果。

请求参数

接口主要使用一个查询参数:

  • barcode:条码编号,通常为 13 位或 14 位数字

Python 请求示例

下面使用urllib3调用接口:

import urllib3 host = 'https://market.aliyun.com/detail/cmapi00065867' path = '/barcode/index' method = 'GET' appcode = '你的AppCode' querys = 'barcode=6921830106820' url = host + path + '?' + querys http = urllib3.PoolManager() headers = { 'Authorization': 'APPCODE ' + appcode } response = http.request('GET', url, headers=headers) content = response.data.decode('utf-8') if content: print(content)

返回结果示例

接口返回一般是 JSON 格式,示例如下:

{ "code": 1, "msg": "操作成功", "data": { "barcode": "6921830106820", "brand": "老厨", "goods_name": "老厨香辣牛肉干", "company": "温州老厨食品有限公司", "keyword": "牛肉干", "goods_type": "食品、饮料和烟草>>预制食品和罐头>>小吃>>肉干和处理过的肉", "category_code": "10005767", "category_name": "预制/加工牛肉", "spec": "52g", "price": "6.00", "origin_country": "中国", "remark": "..." } }

常用字段说明

返回数据中,常见字段包括:

  • barcode:条码
  • brand:品牌
  • goods_name:商品名称
  • company:生产公司
  • keyword:关键词
  • goods_type:商品分类
  • category_code:分类编码
  • category_name:分类名称
  • spec:规格
  • price:价格
  • origin_country:原产国
  • remark:备注信息

解析 JSON 数据

如果需要在程序中直接使用这些字段,可以对返回值进行解析:

import urllib3 import json host = 'https://market.aliyun.com/detail/cmapi00065867' path = '/barcode/index' query = 'barcode=6921830106820' url = f'{host}{path}?{query}' appcode = '你的AppCode' http = urllib3.PoolManager() headers = { 'Authorization': 'APPCODE ' + appcode } response = http.request('GET', url, headers=headers) content = response.data.decode('utf-8') if content: result = json.loads(content) if result.get('code') == 1: data = result.get('data', {}) print('条码:', data.get('barcode')) print('商品名称:', data.get('goods_name')) print('品牌:', data.get('brand')) print('规格:', data.get('spec')) print('价格:', data.get('price')) print('产地:', data.get('origin_country')) else: print('查询失败:', result.get('msg'))

注意事项

  • AppCode需要替换成自己的值。
  • barcode参数填写正确的条码编号。
  • 返回字段是否完整,取决于接口数据源中的记录情况。
  • 部分字段可能为空,这是正常情况。
  • 实际使用时,建议增加异常处理,避免网络错误或接口返回异常导致程序中断。
http://www.jsqmd.com/news/1072774/

相关文章:

  • FAST-LIVO2 源码精读(九):VoxelMap 体素地图——哈希索引与八叉树平面拟合
  • 西瓜/甜瓜智能病虫害防控喷雾机上位机 Qt信创完整项目
  • 计算机网络基础:实时运输协议 RTP
  • Power BI 6 月重磅更新:9 大新功能全面提升数据分析效率
  • 牛客发布2026春季校园招聘白皮书:AI招聘趋势洞察
  • window显示驱动开发-Direct3D 着色器代码
  • 电脑蓝屏反复发作?这样排查最有效
  • 学Simulink——基于双 PWM 变流器的背靠背(Back‑to‑Back / B2B)整流‑逆变系统仿真
  • 【plant simulation自学】三、发生器和吸收器统计
  • 【ComfyUI】在Windows电脑上安装 ComfyUI并通过python脚本调用API批量生成图片
  • 2026年最受好评的EC风机企业,市场口碑盘点来了
  • SpringBoot Starter 自动装配完整原理 + 实战
  • Java 后端转 AI 大模型,这套学习路线评测帮你避坑
  • 影视行业全岗位详解|一眼看懂不盲目选岗
  • 1970-2026年中国全域景点、景区矢量点位分布数据|多源融合|历史变迁
  • C# 调用 OpenAI API 实战:一位老程序员的踩坑与经验分享
  • Python 项目实战练习
  • 计算机毕业设计之网络商城系统的设计与实现
  • 鸿蒙 NDK开发:使用预构建库(四)
  • 从 RAP Managed 到 Unmanaged,ABAP Cloud 事务模型里的责任分界线
  • 【Ai运维】Redis008篇
  • Linux环境下部署Zookeeper3.9.5(最新版)集群部署
  • TVA在机电产品视觉检测的创新应用(13)
  • 怎么跟 AI 说话才能让它写出你要的代码——我和 Claude Code 的配合心法
  • HoRain云--Flutter状态管理全景指南2026
  • MAX API v1.0.2 界面重构、后台优化、安全加固
  • 浏览器跨域Cookie安全解决方案
  • 5G NR LDPC编译码
  • 告别重复造轮子:C#抽象机器人控制层,兼容ABB/安川/发那科
  • 政府采购不能要求本地机构?但可以这样要求!