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

使用requests模块爬取网页内容出现503 Server Error报错如何解决?

问题原因

requests发起请求时默认的User-Agent字段会明确标识自身为爬虫,目前绝大多数商业网站都配置了基础反爬策略,会直接拦截这类爬虫请求返回503错误,并非目标站点服务真的不可用,这也是你测试几乎所有URL都触发报错的核心原因。此外你代码里的请求URL存在http: //中间多余空格的语法问题,也会导致请求异常。

修复方案
  • 优先添加模拟浏览器的请求头参数,覆盖默认的爬虫UA:
import requests

# 以下为Chrome浏览器的UA示例,你也可以替换为自己本地浏览器的实际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'
}

# 修正URL的多余空格,优先用https协议
response = requests.get('https://www.amazon.com/Automate-Boring-Stuff-Python-2nd/dp/1593279922/', headers=headers)
response.raise_for_status()
# 打印前500个字符验证请求成功
print(response.text[:500])
  • 如果添加UA后仍偶尔触发503,可增加请求间隔避免高频访问触发站点频率限制:
import time
import requests

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'
}

# 每次请求前等待2秒,可根据站点情况调整间隔时长
time.sleep(2)
response = requests.get('https://www.amazon.com/Automate-Boring-Stuff-Python-2nd/dp/1593279922/', headers=headers)
response.raise_for_status()
补充说明

如果爬取其他站点时也遇到同类503错误,优先检查是否携带了正常浏览器的User-Agent,部分安全策略更严格的站点还需要校验Cookie、Referer等请求头字段,按需补充对应参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 17:51:03