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

调用Nagumo站点分类API返回403错误无法获取数据的解决方案

返回403的核心原因

该API配置了访问防护规则,原生requests请求默认携带的UA标识为Python爬虫特征,且缺少合法来源、会话校验信息,会被防护策略直接拦截。

解决步骤
  • 配置合法请求头
    接口会校验请求来源,必须携带和浏览器端一致的核心请求头:
    • User-Agent:替换默认的Python requests标识,使用主流浏览器UA
    • Referer:填充目标站点页面地址,标识请求从站内发起
    • Origin:填充目标站点主域名
    • Accept:声明接收JSON格式响应
      参考代码:
import requests

url = 'https://b2c-api-premiumlabel-production.azurewebsites.net/api/b2c/page/menu?id_loja=2691'
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
    "Referer": "https://www.nagumo.com.br/",
    "Origin": "https://www.nagumo.com.br",
    "Accept": "application/json, text/plain, */*"
}
resp = requests.get(url, headers=headers)
print(resp.status_code)
print(resp.json())
  • 维持会话Cookie(配置请求头仍返回403时使用)
    接口会校验请求携带的合法站点Cookie,需要先访问站点首页获取会话标识,再请求业务接口,使用requests.Session()可自动维护Cookie,无需手动处理:
import requests

session = requests.Session()
session.headers.update({
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
})
# 访问首页获取合法Cookie
session.get("https://www.nagumo.com.br/")
# 请求分类接口
api_resp = session.get(
    'https://b2c-api-premiumlabel-production.azurewebsites.net/api/b2c/page/menu?id_loja=2691',
    headers={
        "Referer": "https://www.nagumo.com.br/osasco-lj46-osasco-ayrosa-rua-avestruz/departamentos",
        "Accept": "application/json, text/plain, */*"
    }
)
print(api_resp.status_code)
print(api_resp.json())
  • 控制请求频率
    站点接入了WAF防护,短时间高频请求会触发IP封禁返回403。调试阶段单请求间隔保持2-3秒,逻辑跑通后再根据接口响应情况调整并发。

后续遍历分类拉取商品数据时,沿用上述会话和请求头配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:27:20