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

如何用Python从URL下载关联PDF?批量下载及s3fs桶名疑问

批量下载NSE公开PDF文件的方案

你完全没必要用s3fs,这些都是NSE对外公开的静态文件,直接通过普通的HTTP请求就能下载,根本不用纠结S3存储桶的问题。下面给你两种简单的批量下载方法:

方法一:Python脚本批量下载

  • 先安装依赖库:pip install requests
  • 复制下面的脚本,替换成你的URL列表,运行即可:
import os
import requests

# 替换成你自己的URL数组
url_list = [
    'https://static.nseindia.com/s3fs-public/2022-09/ind_prs01092022.pdf',
    # 在这里添加更多需要下载的URL
]

# 设置本地保存的文件夹,不存在会自动创建
save_folder = './nse_downloads'
os.makedirs(save_folder, exist_ok=True)

for url in url_list:
    # 从URL里提取文件名
    file_name = url.split('/')[-1]
    save_path = os.path.join(save_folder, file_name)
    
    try:
        # 发送请求下载文件
        response = requests.get(url, stream=True)
        response.raise_for_status()  # 检查请求是否成功
        
        # 写入本地文件
        with open(save_path, 'wb') as file:
            for chunk in response.iter_content(chunk_size=8192):
                file.write(chunk)
        print(f"✅ 成功下载:{file_name}")
    except Exception as error:
        print(f"❌ 下载失败 {url}:{str(error)}")

方法二:命令行批量下载(适合Linux/macOS/WSL)

  1. 新建一个文本文件urls.txt,把所有要下载的URL逐行放进去
  2. 打开终端,执行下面的命令,文件会自动下载到nse_downloads文件夹:
mkdir -p nse_downloads && cd nse_downloads && xargs -n 1 curl -O < ../urls.txt
  • 说明:-O参数让curl保留原文件名,xargs负责读取每行URL并执行下载命令。

为什么不用s3fs?

这些文件是NSE通过CDN对外提供的公开静态资源,不需要通过AWS S3客户端访问,直接用HTTP下载更简单高效,还不用配置任何AWS凭证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:01:06