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

使用Python Requests请求INMET接口出现404错误求助

解决INMET请求302跳转后404的问题

看起来你遇到的是典型的「浏览器能正常访问,但爬虫代码触发404」的问题——从日志能看到,你的GET请求先返回200,紧接着触发302重定向到/sonabra/log2/index.php,但这个路径直接返回404。这种情况大概率是网站更新了验证逻辑,你的代码缺少必要的请求头或会话状态,被网站判定为非合法请求了。

给你几个具体的排查和修复方案:

1. 补全请求头,模拟真实浏览器行为

requests.Session()默认的请求头非常极简,很多网站会通过User-Agent、Referer这些字段判断请求是否来自真实浏览器。你可以复制自己浏览器的请求头(F12打开开发者工具,在Network面板里找对应请求的Request Headers),加到会话里:

session = requests.Session()
# 替换成你浏览器实际的请求头,这里是Chrome的示例
session.headers.update({
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
    "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
    "Referer": "http://www.inmet.gov.br/",
    "Upgrade-Insecure-Requests": "1"
})

# 先访问INMET首页,初始化会话Cookie
session.get("http://www.inmet.gov.br/", timeout=5)

# 再发起目标GET请求
GET = session.get("http://www.inmet.gov.br/sonabra/pg_dspDadosCodigo_sim.php?QTgwNA==", timeout=1)
GET.raise_for_status()
# 后续解析和POST代码不变

2. 关闭自动重定向,手动排查跳转逻辑

requests默认会自动跟随重定向,但有时候网站的重定向需要特定的前置状态。你可以关闭自动重定向,看看跳转目标是否合理:

GET = session.get(
    "http://www.inmet.gov.br/sonabra/pg_dspDadosCodigo_sim.php?QTgwNA==",
    timeout=1,
    allow_redirects=False
)
# 打印重定向目标
print("重定向目标:", GET.headers.get("Location"))
# 如果跳转的是登录页或验证页,说明需要先完成验证流程

3. 同步浏览器的Cookie到会话

浏览器访问时会保留网站设置的Cookie,你的代码会话可能缺少关键Cookie导致被拦截。你可以在浏览器中打开目标URL,复制开发者工具里的Cookie,手动加到会话中:

# 替换成浏览器里实际的Cookie键值对
session.cookies.set("INMET_SESSION", "your_browser_cookie_value")
session.cookies.set("another_cookie", "another_value")

4. 检查网站是否更新了验证机制

从日志的404路径来看,网站可能更新了验证页面的路径,或者新增了反爬措施(比如JS渲染的验证码、会话验证)。你可以:

  • 在浏览器中一步步操作目标页面,看是否需要登录、滑块验证或其他步骤
  • 对比浏览器和代码的网络请求差异(比如请求参数、方法、头信息)

另外,建议你去INMET官网看看有没有开放的公共数据API——官方接口比爬取页面更稳定,也不会轻易被反爬拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:59:09