【实战解析】淘宝店铺商品全量爬取:item_search_shop API深度指南

一、API核心价值定位

​taobao.item_search_shop​​ 是万邦数据提供的淘宝/天猫店铺商品全量检索接口,支持通过店铺ID或卖家ID获取所有商品信息。核心能力包括:

  • 商品列表分页获取(支持100+页)
  • 商品ID/价格/销量/图片等核心字段提取
  • 销量/价格/上新时间多维度排序
  • 电商场景适配:竞品分析、商品监控、智能选品

🚀 典型应用:某3C品牌通过该API抓取TOP5竞品店铺商品,分析价格区间与销量关系,优化新品定价策略,ROI提升40%。

二、API调用全流程

1. 关键参数说明

参数名

类型

说明

示例值

​key​

String

API密钥(万邦数据平台申请)

​<your_api_key>​

​shop_id​

String

店铺ID(URL中的数字部分)

​440688975​

​seller_id​

String

卖家ID(商品详情页提取)

​4273827547​

​sort​

String

排序方式(sales-desc/price-asc)

​new​​(按上架时间)

2. Python调用示例
import requests

def fetch_shop_products(shop_id, page=1):
    params = {
        "key": "your_key",
        "shop_id": shop_id,
        "page": page,
        "sort": "sales-desc",  # 按销量降序
        "format": "jsonu"  # 中文友好格式
    }
    response = requests.get("https://api-gw.onebound.cn/taobao/item_search_shop", params=params)
    return response.json()

# 分页获取全量商品
def get_all_products(shop_id):
    products = []
    page = 1
    while True:
        data = fetch_shop_products(shop_id, page)
        if not data["items"]["item"]:
            break
        products.extend(data["items"]["item"])
        page += 1
    return products
3. 返回数据结构解析
{
  "items": {
    "shop_id": "440688975",  // 店铺ID
    "total_results": 240,  // 商品总数
    "item": [
      {
        "num_iid": "583975606695",  // 商品ID
        "title": "jifeng季风雪茄盒",  // 标题
        "price": 276.00,  // 原价
        "promotion_price": 138.00,  // 促销价
        "sales": 4,  // 销量
        "pic_url": "https://img.alicdn.com/xxx.jpg"  // 主图
      }
    ]
  }
}

三、电商场景实战案例

1. 竞品商品监控系统
# 定时任务:每日0点更新竞品数据
import schedule
import time

def update_competitor_data():
    competitor_shops = ["440688975", "55123456"]
    for shop_id in competitor_shops:
        products = get_all_products(shop_id)
        for p in products:
            # 保存到数据库(示例)
            db.execute("""
                INSERT INTO products (num_iid, title, price, sales)
                VALUES (%s, %s, %s, %s)
                ON DUPLICATE KEY UPDATE price=VALUES(price), sales=VALUES(sales)
            """, (p["num_iid"], p["title"], p["price"], p["sales"]))

schedule.every().day.at("00:00").do(update_competitor_data)
while True:
    schedule.run_pending()
    time.sleep(1)
2. 商品智能选品策略
  • 筛选条件
  • ​sales > 1000​​(高销量)
  • ​promotion_price < 200​​(价格敏感区间)
  • ​category​​ 包含"夏季新款"(季节限定)
  • 数据应用
def select_top_products(products):
    return [p for p in products 
            if p["sales"] > 1000 
            and p["promotion_price"] < 200 
            and "夏季新款" in p["category"]]

四、反爬与性能优化

1. 高频调用解决方案
# 分布式请求队列(示例)
from concurrent.futures import ThreadPoolExecutor

def process_shop(shop_id):
    try:
        return get_all_products(shop_id)
    except Exception as e:
        print(f"处理失败:{shop_id} - {str(e)}")

# 并行处理5个店铺
with ThreadPoolExecutor(max_workers=5) as executor:
    results = executor.map(process_shop, ["440688975", "55123456", ...])
2. 反爬机制应对
  • 动态参数
# 随机延迟(0.5-2秒)
time.sleep(random.uniform(0.5, 2.0))

# 轮换User-Agent
headers = {"User-Agent": fake_useragent.UserAgent().random}
  • 代理池配置
from requests_rotating_proxy import RotatingProxyManager
proxy_manager = RotatingProxyManager([
    "http://user:pass@proxy1.com:8080",
    "http://user:pass@proxy2.com:8080"
])

五、合规性与法律建议

1.API使用规范

  • 遵守万邦数据平台《API使用协议》第3.2条(禁止恶意爬取)
  • 控制QPS≤10次/秒(可申请扩容)

2.数据使用边界

  • 禁止爬取用户隐私信息(如收货地址)
  • 商品数据仅限内部分析,商用需获得授权

​​​​​​​​​​​​​​3.法律风险提示

  • 违反《电子商务法》第24条可能面临50万元以下罚款
  • 建议签订数据采购协议(万邦数据提供企业版服务)

六、常见问题解答

Q:如何获取shop_id?
A:淘宝店铺首页URL为​​https://shopxxx.taobao.com​​,其中​​xxx​​即为​​shop_id​​。

Q:返回数据中销量为0?
A:部分商品可能未公开真实销量,建议结合​​taobao.item_get​​接口补充数据。

Q:如何处理分页数据?
A:通过循环递增​​page​​参数,直到​​total_results​​与已抓取数量一致。

七、扩展应用场景

  1. 商品比价系统:监控同一商品在不同店铺的价格波动
  2. 库存预警:通过​​stock​​字段监控畅销商品库存变化
  3. 标题优化:分析高销量商品的关键词组合

🔗 官方文档:​​万邦数据API文档​​ 🚀 技术交流:关注作者获取分布式爬虫架构设计方案(含反爬中间件实现)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值