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

Python3读取网站CSV文件遇HTTPError报错,求解决方法

解决思路及方案

出现HTTPError的核心原因是目标网站的反爬机制拦截了pandas默认的请求——pd.read_csv()发送的HTTP请求未携带符合浏览器标准的请求头,被服务器判定为非合法请求。以下是具体解决方法:

  • 方法一:模拟浏览器请求头获取数据
    使用requests库手动添加浏览器请求头,先获取CSV内容再传给pandas处理:

    import pandas as pd
    import requests
    
    url = "https://www.w3resource.com/python-exercises/pandas/plotting/alphabet_stock_data.csv"
    # 模拟主流浏览器的请求头,可根据自身浏览器版本调整
    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"
    }
    
    # 发送请求并验证状态
    response = requests.get(url, headers=headers)
    response.raise_for_status()  # 请求失败时直接抛出异常
    
    # 将响应内容转为pandas可读取的对象
    data = pd.read_csv(pd.io.common.StringIO(response.text))
    
  • 方法二:本地下载后读取
    若不想处理请求头逻辑,直接在浏览器中打开目标URL,将CSV文件下载到本地,再读取本地文件:

    import pandas as pd
    # 替换为你本地文件的实际路径
    data = pd.read_csv("./alphabet_stock_data.csv")
    
  • 前置检查:确认URL有效性
    先在浏览器中访问该URL,确认是否能正常加载并下载CSV文件。如果浏览器也无法访问,说明该URL已失效,需要更换为有效的数据源地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:18:37