速卖通关键词搜索接口开发实战:2025年Python代码实现与避坑指南

‌一、接口概述与时效性说明‌

速卖通(AliExpress)开放平台提供‌关键词搜索接口‌(aliexpress.affiliate.product.query),支持根据关键词、类目、排序规则等参数获取商品列表。
⚠️ ‌注意‌:本文基于‌2025年02月26日‌的API版本,若后续接口更新请以官方文档为准。

‌二、准备工作‌
‌注册开发者账号‌:前往速卖通开放平台申请账号并创建应用,获取App Key和App Secret
‌安装依赖库‌:使用Python的requests库发送HTTP请求。
bash
Copy Code
pip install requests

‌三、Python代码实现‌
python
Copy Code
import requests
import hashlib
import time

def search_aliexpress_keywords(keyword, app_key, app_secret):
    # 基础参数
    base_url = "https://api.aliexpress.com/rest"
    method = "aliexpress.affiliate.product.query"
    timestamp = str(int(time.time() * 1000))
    
    # 签名生成(需替换为你的密钥)
    sign_str = f'{method}app_key{app_key}timestamp{timestamp}{app_secret}'
    sign = hashlib.md5(sign_str.encode()).hexdigest().upper()
    
    # 请求参数
    params = {
        "method": method,
        "app_key": app_key,
        "sign_method": "md5",
        "timestamp": timestamp,
        "sign": sign,
        "keywords": keyword,
        "category_ids": "",  # 可选类目ID
        "sort": "volume_desc",  # 按销量排序
        "page_size": 20
    }
    
    # 发送请求
    try:
        response = requests.get(base_url, params=params)
        response.raise_for_status()
        data = response.json()
        
        # 解析结果
        if data.get("result"):
            products = data["result"]["products"]["product"]
            for product in products:
                print(f"商品ID: {product['productId']}")
                print(f"标题: {product['productTitle']}")
                print(f"价格: {product['salePrice']} USD\n")
        else:
            print("未找到相关商品")
            
    except Exception as e:
        print(f"请求失败: {e}")

# 示例调用
search_aliexpress_keywords(
    keyword="wireless earphones",
    app_key="YOUR_APP_KEY",
    app_secret="YOUR_APP_SECRET"
)

‌四、核心参数说明‌
参数    描述    示例值
keywords    搜索关键词(支持空格分隔)    "wireless earphones"
sort    排序方式(销量/价格/评分)    volume_desc
category_ids    类目ID(需提前查询类目树)    "12345"
page_size    每页返回商品数量(最大100)    20
‌五、常见问题与避坑指南‌
‌签名错误‌:确保sign生成的字符串顺序与官方一致,注意app_key和timestamp拼接顺序。
‌频率限制‌:免费版API默认限制每秒10次请求,需添加time.sleep()避免触发限流。
‌数据解析‌:建议使用try-except处理JSON字段缺失,例如product.get('price', 'N/A')。
‌六、最佳实践‌
‌多关键词搜索‌:使用keywords参数传递多个关键词(如"bluetooth headphone waterproof")。
‌分页查询‌:结合page_no参数实现翻页,获取更多商品数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值