淘宝关键字搜索接口 item_search 是一个强大的API (演示示例)

74 阅读3分钟

淘宝关键字搜索接口 item_search 是一个强大的API,允许开发者通过关键词搜索淘宝商品。以下是该接口的详细解析:

基本功能

item_search API 允许您:

  • 通过关键词搜索淘宝/天猫商品
  • 获取商品列表及相关信息
  • 支持多种排序和筛选条件

请求参数

q:搜索关键字

cat:分类ID

start_price:开始价格

end_price:结束价格

sort:排序[bid,bid,bid2,_bid2,_sale,_credit]

(bid:总价,bid2:商品价格,sale:销量,credit信用,加前缀为从大到小排序)

page:页数

page_size:每页宝贝数量,默认40

seller_info:是否获取商家信息[yes,no],默认yes

API:item_get 参数说明: num_iid:宝贝ID

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本

接口核心参数详解

def search_taobao(keyword, page=1, sort="default"):
    """淘宝商品搜索API调用示例"""
    # 假设 API 接口地址,复制链接获取测试 
    前往体验API:o0b.cn/ibrad
    params = {
        "method": "item_search",
        "app_key": "YOUR_APP_KEY",
        "sign": generate_sign(params),  # 签名生成函数
        "timestamp": get_current_time(),
        "format": "json",
        "v": "2.0",
        "keyword": keyword,  # 搜索关键词(核心参数)
        "page_no": page,     # 页码
        "page_size": 20,     # 每页数量(默认20,最大100)
        "sort": sort,        # 排序方式:default(默认)、price-asc(价格升序)、price-desc(价格降序)、sales(销量)、credit(信用)
        "cat": "",           # 类目ID(可选)
        "start_price": 0,    # 价格区间-起始
        "end_price": 0,      # 价格区间-结束
        "is_tmall": False,   # 是否天猫商品
        "has_discount": False, # 是否有优惠
        "source": "search"   # 搜索来源(固定值)
    }
    return request_api(params)

使用示例

import requests

def taobao_item_search(keyword, page=1, page_size=40):
    url = "https://api.taobao.com/router/rest"
    params = {
        "method": "taobao.item.search",
        "app_key": "YOUR_APP_KEY",
        "sign_method": "md5",
        "timestamp": "2023-01-01 00:00:00",
        "format": "json",
        "v": "2.0",
        "q": keyword,
        "page_no": page,
        "page_size": page_size
    }
    
    # 需要生成签名(sign)
    # params['sign'] = generate_sign(params, "YOUR_APP_SECRET")
    
    response = requests.get(url, params=params)
    return response.json()

# 使用示例
result = taobao_item_search("手机", page=1)
print(result)

注意事项

  1. 认证与授权:使用淘宝API需要先申请成为淘宝开放平台开发者,创建注册账号获取App Key和App Secret
  2. 调用限制:淘宝API有调用频率限制,需遵守平台规则。
  3. 签名机制:所有请求都需要按照淘宝规则生成签名。
  4. 数据更新:商品数据可能有延迟,不是实时更新。
  5. 商业用途:大规模商业使用需要申请高级权限或付费。

高级功能

  1. 筛选条件:可以添加更多筛选条件如地区、发货地、服务保障等。
  2. 排序优化:支持多种排序方式如价格、销量、信用、新品等。
  3. 字段定制:可以指定返回的字段,减少不必要的数据传输。
  4. 分页控制:合理设置分页参数可以提高查询效率。