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

Python批量爬取网站Excel文件遇SSLError证书报错问题咨询

问题原因

核心遗漏点非常明确:你仅在获取目录页的requests.get()请求中添加了verify=False参数,循环内部用于下载Excel文件的requests.get()请求未配置该参数,默认会走SSL证书校验逻辑,因此触发证书验证失败报错,程序中断。
原代码还存在3个会影响批量下载稳定性的隐藏问题:

  • 本地存储路径配置不规范:os.chdir传入的路径包含多余空格、末尾冗余反斜杠,Windows环境下极易触发路径不存在、无写入权限的报错。
  • 无异常捕获逻辑:单个文件下载失败会直接终止整个循环,无法继续处理后续文件。
  • 未配置基础请求头、超时时间,容易被源站拦截,或因请求长时间挂起导致程序假死。

注意:verify=False通过跳过证书校验绕过报错存在安全风险,仅建议在确认目标站点可信的测试场景使用。配置该参数后控制台会弹出urllib3的不安全请求警告,可通过代码手动关闭。

修正后可直接运行的代码
import requests
from bs4 import BeautifulSoup
import os
import urllib3

# 关闭跳过证书校验触发的警告信息
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

# 替换为本地实际存储路径,不要保留多余空格、末尾冗余斜杠
local_save_path = r'C:\nyu_excel_archives'
# 路径不存在时自动创建,避免报错
os.makedirs(local_save_path, exist_ok=True)
os.chdir(local_save_path)

base_archive_url = 'https://pages.stern.nyu.edu/~adamodar/pc/archives/'
request_headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'
}

# 拉取归档目录页
directory_resp = requests.get(base_archive_url, headers=request_headers, verify=False, timeout=30)
soup = BeautifulSoup(directory_resp.text, 'html.parser')
target_file_suffix = '.xls'

for a_tag in soup.find_all('a'):
    file_href = a_tag.get('href')
    if not file_href or target_file_suffix not in file_href:
        continue
    file_name = a_tag.text.strip()
    full_download_url = base_archive_url + file_href
    print(f'正在下载: {file_name}')
    try:
        # 下载文件的请求必须同步配置verify=False
        file_resp = requests.get(full_download_url, headers=request_headers, verify=False, timeout=60)
        # 遇到4xx/5xx状态码直接抛出异常,避免下载到错误页面内容
        file_resp.raise_for_status()
        with open(file_name, 'wb') as f:
            f.write(file_resp.content)
        print(f'下载完成: {file_name}')
    except Exception as e:
        print(f'文件{file_name}下载失败,错误: {str(e)},跳过当前文件继续后续任务')
        continue

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:39:19