You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python requests与pandas模块查询Target官网商品库存

Target周边门店库存查询代码可行性说明

可以基于你提供的代码逻辑实现需求,但原代码仅支持查询商品定价,需要调整部分逻辑才能获取库存数据。

原代码的可用部分

你给出的代码已经完成了核心流程的搭建:

  • 初始化请求会话,访问Target主页获取访客cookie
  • 从cookie中解析访客标识visitorId和用户所在地理位置
  • 调用接口查询用户周边最近的门店ID
  • 请求商品详情接口获取对应门店的商品数据

需修改的内容

1. 补充请求头避免反爬拦截

裸请求很容易被Target的反爬机制返回403,需要给请求补充UA标识,示例:

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
# 后续所有requests请求都带上headers参数即可

2. 补充库存字段解析逻辑

原代码仅解析了返回数据中的price字段,库存数据可以从返回的store_product_availability字段中提取,修改后的解析部分示例:

# 原有请求逻辑不变,仅修改数据解析部分
jsonData = requests.get(url, params=payload, headers=headers).json()

# 提取库存信息
stock_info = jsonData.get('store_product_availability', {})
stock_status = stock_info.get('availability_status', '未查询到库存状态')
available_quantity = stock_info.get('available_to_sell_quantity', 0)

# 合并价格、库存信息生成DataFrame
df = pd.DataFrame([{
    '门店ID': store_id,
    '商品TCIN编码': product_id,
    '当前售价': jsonData['price'].get('current_retail'),
    '库存状态': stock_status,
    '可售库存数量': available_quantity
}])

3. 多门店库存查询拓展

如果需要查询周边多个门店的库存,只需要调整附近门店查询接口的limit参数,拿到多个门店ID后循环请求商品接口即可。

注意事项

  1. 控制请求频率,短时间内大量请求会触发Target反爬限制,导致访客cookie被封禁
  2. 代码中填写的product_id必须为Target平台商品对应的官方TCIN编码,否则无法查询到对应商品
  3. Target的接口路径、参数规则、返回字段结构可能随时调整,若代码运行报错需要对应调整适配新的接口规则

内容的提问来源于stack exchange,提问作者jason pullman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:24:01