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

1688 商品采集 API 调用全流程分享:从准备到实操 - 实践

  • item_get 获得1688商品详情
  • item_search 按关键字搜索商品
  • item_search_img 按图搜索1688商品(拍立淘)
  • item_search_suggest 获得搜索词推荐
  • item_fee 获得商品快递费用
  • seller_info 获得店铺详情
  • item_search_shop 获得店铺的所有商品

在电商运营、数据分析或选品调研中,高效获取 1688 平台商品数据是关键环节。1688 开放平台提供的商品采集 API,能帮助我们合规、稳定地抓取商品信息(如标题、价格、销量、库存等),避免手动采集的低效与违规风险。今天就结合实际操作经验,分享 API 调用的完整流程与避坑要点。

一、调用前的 3 项核心准备

在正式调用 API 前,需完成账号、权限与环境的基础配置,这是确保调用成功的前提。

1. 开通 1688 开放平台账号与 API 权限

  • 第一步:进入API开放平台,完成注册即可获取测试key。
  • 第二步:创建 “应用”—— 在开放平台控制台点击 “应用管理 - 创建应用”,选择 “自用型应用”(仅自己使用)或 “第三方应用”(给其他商家用),按提示填写应用名称、用途等信息。
  • 第三步:申请商品采集相关 API 权限 —— 在 “API 列表” 中找到 “商品信息类” 接口(核心接口如item_search【商品搜索采集】、item_get【单个商品详情采集】),点击 “申请权限”,等待 1688 平台审核(通常 1-3 个工作日,需确保应用用途合规)。

2. 获取关键凭证(AppKey 与 AppSecret)

权限审核通过后,在 “应用详情” 页面可查看两个核心凭证:

  • AppKey:应用的唯一标识,调用 API 时需作为参数传递;
  • AppSecret:应用的密钥,用于生成签名(防止请求被篡改),需妥善保管,不可泄露给他人。

3. 搭建开发环境

根据自身技术栈选择开发语言(Python、Java、PHP 等均可,此处以常用的 Python 为例),并安装必要工具:

  • 安装 Python 环境(3.7 及以上版本);
  • 安装请求库:通过命令pip install requests安装requests(用于发送 HTTP 请求);
  • 安装数据解析库:通过pip install json(Python 内置,无需额外安装,用于解析 API 返回的 JSON 数据)。

二、API 调用全流程(以 Python 为例)

1688 商品采集 API 调用遵循 “认证→请求→解析” 的逻辑,核心是通过合规的请求参数获取数据,以下以最常用的item_search(商品搜索采集)接口为例演示。

1. 第一步:获取 Access Token(身份认证)

1688 API 采用 OAuth2.0 认证,需先通过AppKey和AppSecret获取Access Token(有效期通常为 2 小时,过期需重新获取)。

  • 请求 URL:https://open.1688.com/api/auth/token/get.json
  • 请求方式:GET
  • 核心参数:

参数名

类型

说明

示例值

appKey

String

应用的 AppKey

202xxxxxx56

appSecret

String

应用的 AppSecret

8a6xxxxxxxxx89

grantType

String

授权类型,固定为 “client_credentials”

client_credentials

  • Python 示例代码:

import requests

# 1. 获取Access Token

app_key = "你的AppKey"

app_secret = "你的AppSecret"

token_url = f"https://open.1688.com/api/auth/token/get.json?appKey={app_key}&appSecret={app_secret}&grantType=client_credentials"

response = requests.get(token_url)

token_data = response.json()

# 检查是否获取成功

if token_data.get("code") == 0:

access_token = token_data["data"]["accessToken"]

print(f"Access Token获取成功:{access_token}")

else:

print(f"Token获取失败:{token_data.get('message')}")

exit() # 失败则终止程序

2. 第二步:调用商品采集 API(item_search)

获取Access Token后,即可调用item_search接口,按关键词、分类等条件采集商品数据。

  • 请求 URL


-- 请求示例 url 默认请求参数已经URL编码处理
curl -i "https://api-服务器.cn/1688/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=610947572360"

  • 请求方式:GET
  • 核心参数(需拼接在 URL 中):

参数名

类型

说明

示例值

access_token

String

第一步获取的 Access Token

7a9xxxxxxxxx12

keywords

String

搜索关键词(如 “连衣裙”)

连衣裙

page

Integer

页码(从 1 开始)

1

pageSize

Integer

每页条数(最大 50 条)

20

  • Python 示例代码(续上一步):

# 2. 调用item_search接口采集商品数据

search_url = "https://open.1688.com/api/param2/1/com.alibaba.product/alibaba.product.search.json"

params = {

"access_token": access_token,

"keywords": "连衣裙", # 可替换为目标关键词

"page": 1,

"pageSize": 20

}

# 发送请求

search_response = requests.get(search_url, params=params)

product_data = search_response.json()

# 检查请求是否成功

if product_data.get("code") == 0:

# 提取商品列表

products = product_data["data"]["result"]["products"]

print(f"共采集到{len(products)}条商品数据:")

# 解析并打印关键信息(可根据需求调整字段)

for idx, product in enumerate(products, 1):

print(f"\n商品{idx}:")

print(f"商品ID:{product['productId']}")

print(f"商品标题:{product['title']}")

print(f"售价(元):{product['price']}")

print(f"销量(30天):{product['salesCount30D']}")

print(f"供应商:{product['supplier']['supplierName']}")

else:

print(f"商品采集失败:{product_data.get('message')}")

3. 第三步:数据解析与存储

API 返回的是 JSON 格式数据,需根据业务需求提取关键字段(如商品 ID、价格、销量、供应商信息等),并存储到数据库(MySQL、MongoDB)或 Excel 中。

  • 示例:将数据存入 Excel(需先安装pandas库:pip install pandas):

import pandas as pd

# 3. 数据存储到Excel

if product_data.get("code") == 0:

# 提取需要的字段

product_list = []

for product in products:

product_info = {

"商品ID": product["productId"],

"标题": product["title"],

"售价": product["price"],

"30天销量": product["salesCount30D"],

"供应商名称": product["supplier"]["supplierName"],

"供应商链接": product["supplier"]["homepageUrl"]

}

product_list.append(product_info)

# 转为DataFrame并保存

df = pd.DataFrame(product_list)

df.to_excel("1688连衣裙商品数据.xlsx", index=False)

print("数据已保存到Excel文件!")

三、调用中的 3 个常见问题与避坑指南

  1. Access Token 过期(报错 “invalid token”)

解决方案:Token 有效期为 2 小时,需在代码中添加 “过期自动刷新” 逻辑 —— 记录 Token 获取时间,每次调用前检查是否过期,过期则重新请求 Token。

  1. 请求频率超限(报错 “too many requests”)

解决方案:1688 API 对每个应用有调用频率限制(通常每秒不超过 5 次),需在代码中添加 “延时控制”,如用time.sleep(0.2)(每次请求间隔 0.2 秒);同时避免一次性采集过多数据,可分时段采集。

  1. 返回数据为空(但参数无错)

解决方案:检查两个点:① 关键词是否太宽泛(如 “衣服”),可缩小范围(如 “夏季女士短袖 T 恤”);② API 权限是否生效(部分权限需审核通过后 1 小时才生效),可在开放平台 “权限管理” 中确认。

四、优化建议:让 API 调用更高效

  1. 按需采集字段:API 返回字段较多,无需全部提取,仅保留业务所需字段(如选品需 “价格、销量、好评率”),减少数据传输与解析时间。
  1. 数据去重:若多次采集同一关键词,需通过 “商品 ID” 去重,避免重复存储。
  1. 异常监控:在代码中添加 “异常捕获” 逻辑(如try-except),当调用失败时自动记录日志(如失败时间、报错信息),方便后续排查。

总结

1688 商品采集 API 调用的核心是 “合规 + 规范”—— 先完成账号与权限配置,再按 “Token 获取→API 请求→数据解析” 流程操作,同时注意规避频率超限、Token 过期等问题。通过 API 采集数据,不仅效率远高于手动复制,还能确保数据的合规性(避免违反 1688 平台规则)。

如果在实操中遇到具体问题(如某接口参数配置、代码报错),可以随时交流,也欢迎分享你的优化经验!

http://www.hskmm.com/?act=detail&tid=24223

相关文章:

  • 2025最新推荐化妆品代工公司排行榜:含 OEM / ODM / 一站式服务企业,助力品牌方精准选合作方
  • 悟空博弈单元(WBUC)专题研究:面向可能性计算的结构化创新架构
  • 访问控制、用户认证、https - 实践
  • GO_基础
  • sg.完整布局演示
  • sg.justification用法
  • Set
  • SCCPC2021重现赛
  • Ros2_control浅析——一个机器人开发通用框架的结构(1)
  • 图的计数问题没做
  • 11_linux镜像下载
  • CF2152 Squarepoint Challenge (Codeforces Round 1055, Div. 1 + Div. 2) 游记
  • 框架系统在自然语言处理深度语义分析中的作用、挑战与未来展望 - 实践
  • 10_windows11安装virtualbox
  • 9_windows11安装docker
  • 英语语法填空
  • 从涌现到戏台:AI元人文构想的演进历程
  • 题解:P14124 [SCCPC 2021] Nihongo wa Muzukashii Desu
  • QBXT2025S Day3题
  • python+vue在线视频课程学习系统设计(源码+文档+调试+基础修改+答疑) - 详解
  • pdf翻译
  • 【做题记录】CF2600左右有趣的思维题1
  • 【Android】RuntimeShader 应用
  • 【Rive】rive-android源码分析
  • zkSync Era主网上线:首个zkEVM全面开放的技术突破
  • Microsoft Access SQL 查询中的通配符 - 详解
  • 洛谷P11738 [集训队互测 2015] 未来程序改
  • mcp 面试题
  • 【开题答辩过程】以《基于SpringBoot+Vue+uni-app的智慧校园服务系统的设计与搭建》为例,不会开题答辩的可能进来看看
  • 6_什么是知识图谱