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

Python调用requests/urllib访问雅虎财经返回404但直接点击链接正常

问题原因
  • 雅虎财经对请求做了反爬虫校验,会校验请求头的User-Agent字段,默认情况下Python的requests、urllib库发送的请求会携带包含Python标识的UA,会被服务器识别为爬虫请求,直接返回404错误。
  • 部分区域访问雅虎财经还需要附带首次访问生成的合规校验cookie,无cookie的裸请求也会被拦截。
解决方案

核心是给请求添加模拟正常浏览器的请求头,首选添加User-Agent字段即可解决绝大多数情况,若仍报错可额外补充浏览器中复制的对应页面的Cookie参数。

requests库修复示例

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
a = requests.get('https://finance.yahoo.com/quote/AAPL/financials?p=AAPL', headers=headers)
a.raise_for_status()
# 打印前100个字符验证返回正常
print(a.text[:100])

urllib库修复示例

import urllib.request

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
req = urllib.request.Request("https://finance.yahoo.com/quote/AAPL/financials?p=AAPL", headers=headers)
data = urllib.request.urlopen(req).read()
print(data[:100])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:15:05