淘宝利用商品关键词获取商品信息指南

一、核心API接口选择

接口名称 功能描述 适用场景
taobao.items.search 通过关键词搜索商品,支持分页、排序,返回商品列表(含标题、价格、销量、图片等) 普通商品搜索、竞品监控、数据分析
taobao.tbk.item.get 淘宝客API,返回含佣金信息的商品数据(需绑定淘宝客账号) 推广返利类应用、佣金分析
taobao.item.search_shop 通过店铺ID获取商品,支持分页(用户需求聚焦关键词,故作为补充) 店铺商品全量获取、竞品店铺分析

二、调用流程详解

1. 注册与认证

  • 步骤

    1. 访问淘宝开放平台注册开发者账号,完成实名认证。
    2. 创建应用,选择类型为"自用型"或"他用型",提交审核后获取AppKeyAppSecret
    3. 在应用详情页申请接口权限(如taobao.items.searchtaobao.tbk.item.get)。

2. 签名生成方法

  • 步骤

    1. 将所有请求参数(除sign外)按字母升序排列。
    2. 拼接参数名和参数值,首尾各追加AppSecret
    3. 对拼接字符串进行MD5加密并转为大写。
  • 示例代码(Python)

    scss 复制代码
    python
    def generate_sign(params, app_secret):
        sorted_params = sorted(params.items())
        sign_str = app_secret + ''.join(f"{k}{v}" for k, v in sorted_params if k != 'sign') + app_secret
        return hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()

3. 请求构造

  • 必填参数

    参数名 示例值 描述
    method taobao.items.search API接口名称
    app_key YOUR_APP_KEY 应用AppKey
    timestamp 2025-08-30 10:00:00 时间戳(GMT+8)
    format json 响应格式
    v 2.0 API协议版本
    sign_method md5 签名算法
  • 业务参数

    参数名 示例值 描述
    q 手机 搜索关键词
    page_no 1 当前页码
    page_size 10 每页商品数量
    sort price_asc 排序方式(价格升序)

三、返回数据解析

1. 基础字段说明

字段名 示例值 描述
num_iid 123456789 商品唯一ID
title 夏季新款连衣裙 商品标题
price 199.00 当前售价
original_price 299.00 原价
pic_url https://img.alicdn.com/xxx.jpg 商品主图URL
sales 200 30天销量
detail_url https://item.taobao.com/item.htm?id=123456789 商品详情页链接

2. 排序与分页

  • 排序 :通过sort参数实现,支持price_asc(价格升序)、price_desc(价格降序)、sales(销量)。

  • 分页 :通过page_nopage_size控制,示例:

    ini 复制代码
    python
    for page in range(1, total_pages + 1):
        data = api.search_items(keyword, page_no=page)

3. 特殊场景字段(淘宝客API)

字段名 示例值 描述
tk_rate 12.34 佣金比率(百分比)
coupon_info 满99减10 优惠券信息
zk_final_price 88.00 折扣后价格

四、完整代码示例(Python)

python 复制代码
python
import requests
import hashlib
import time
 
class TaobaoAPI:
    def __init__(self, app_key, app_secret):
        self.app_key = app_key
        self.app_secret = app_secret
        self.api_url = "https://eco.taobao.com/router/rest"
 
    def generate_sign(self, params):
        sorted_params = sorted(params.items())
        sign_str = self.app_secret + ''.join(f"{k}{v}" for k, v in sorted_params if k != 'sign') + self.app_secret
        return hashlib.md5(sign_str.encode()).hexdigest().upper()
 
    def search_items(self, keyword, page_no=1, page_size=40):
        params = {
            "method": "taobao.items.search",
            "app_key": self.app_key,
            "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
            "format": "json",
            "v": "2.0",
            "sign_method": "md5",
            "q": keyword,
            "page_no": page_no,
            "page_size": page_size,
            "fields": "num_iid,title,price,original_price,pic_url,sales,detail_url"
        }
        params["sign"] = self.generate_sign(params)
        response = requests.get(self.api_url, params=params)
        return response.json()
 
# 使用示例
if __name__ == "__main__":
    api = TaobaoAPI("YOUR_APP_KEY", "YOUR_APP_SECRET")
    data = api.search_items("手机", page_no=1, page_size=10)
    print(data)

五、注意事项

  1. 频率限制:普通应用每分钟≤100次,需合理设计分页逻辑,避免频繁请求。

  2. 数据合规:禁止爬取敏感信息(如用户隐私),需遵守淘宝开放平台协议。

  3. 错误处理

    • 检查返回码(如200表示成功),处理签名错误、参数缺失等问题。

    • 示例错误响应:

      css 复制代码
      json
      {
          "error_response": {
              "code": "1001",
              "msg": "参数缺失"
          }
      }
  4. 数据更新:商品信息可能延迟,重要场景需结合实时数据或官方推送服务。

六、替代方案

  • 无淘宝客权限 :使用第三方数据服务,如万邦开放平台(需注意合法性)。
  • 浏览器自动化:模拟用户行为(不推荐,违反淘宝规则)。

通过以上步骤,可高效利用淘宝API实现商品关键词搜索及数据获取。

相关推荐
探数API小喇叭1 小时前
天气 API 接口思路:拆解一套包含 4 个子接口的轻量化气象服务
大数据·api·天气预报
用户298698530145 小时前
Python 如何实现 Word 与 RTF 文档互转
后端·python·api
VIP_CQCRE20 小时前
用 Ace Data Cloud 一次接入 AI 视频生成:HappyHorse Videos API 实战指南
人工智能·api·ai视频·acedatacloud
打工仔折腾 AI21 小时前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
Patrick在香港21 小时前
Python 抓 0.91 GB 香港法例:Agent 的进度该写进磁盘,不是写进上下文
爬虫·python·api·claude·香港
IT·陈寒1 天前
JavaScript实战技巧总结
人工智能·大模型·api·创业·变现·简历优化
咬代码的兽1 天前
Qwen3.8-Omni-Flash 发布:1M 上下文 + 原生全模态,四步跑通音视频 API
人工智能·大模型·api·qwen
西安栈上月明软件科技2 天前
从 Linux 0.01 到 AI 开源:星图邻的开源实践
人工智能·自然语言处理·架构·开源·fastapi
troy1282 天前
Python 基础语法(九):Django/Flask/FastAPI 三大 Web 框架详细对比解析
python·jupyter·django·flask·github·fastapi
VIP_CQCRE3 天前
用 Ace Data Cloud 快速接入 OpenAI 语音识别:一行 base_url 改造,让音频转文字更简单
ai·openai·api·语音识别·acedatacloud