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

使用Pandas读取实时CSV文件遇404/403错误求助

解决读取实时CSV时的403/404及请求错误问题

核心原因

服务器返回403/404通常是因为请求未携带合法的请求头,服务器会拦截无标识或不符合规范的请求,判断为非浏览器发起的访问而拒绝。

解决方案:模拟浏览器请求头

通过requests库携带完整的浏览器请求头获取CSV内容,再传入Pandas解析,避免直接用pd.read_csv()的默认请求(无请求头)被拦截。

步骤1:构造合法请求头

至少需要添加User-Agent(模拟浏览器标识),可选添加Referer(来源页)提升请求合法性:

import requests
import pandas as pd
from io import StringIO

# 构造请求头
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',
    'Referer': 'https://www.highcharts.com/'
}

# 发送请求并解析CSV
url = 'https://demo-live-data.highcharts.com/time-data.csv'
response = requests.get(url, headers=headers)
response.raise_for_status()  # 触发请求错误便于排查
df = pd.read_csv(StringIO(response.text))

步骤2:排查BeautifulSoup使用错误

CSV是纯文本格式,不需要用BeautifulSoup处理——如果用它操作CSV出现错误,本质是用错了工具,直接通过requests获取文本后交给Pandas即可。

额外注意事项

  • 若仍返回404,确认目标URL是否已变更(部分实时数据接口会定期更新地址);
  • 频繁请求被拦截时,可添加请求间隔(time.sleep(1)),避免被判定为爬虫;
  • 部分服务器会校验Cookie,若上述方法无效,可从浏览器开发者工具中复制真实请求的Cookie添加到请求头中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:01:25