当前位置: 首页 > article >正文

python下载pdf

要下载 PDF 文件并将其保存到本地文件夹中,你可以使用 Python 的 requests 库来发送 HTTP 请求,并使用 osio 库来处理文件操作。以下是一个示例代码,展示了如何从给定的 URL 下载 PDF 文件并将其保存到本地 data 文件夹中:

import os
import requests
from io import BytesIO

# 定义下载链接和保存路径
url = 'https://web.aacei.org/docs/default-source/rps/10S-90.pdf'
save_folder = 'data'
filename = '10S-90.pdf'
save_path = os.path.join(save_folder, filename)

# 确保保存文件夹存在
if not os.path.exists(save_folder):
    os.makedirs(save_folder)

# 发送 HTTP GET 请求获取 PDF 文件
response = requests.get(url)

# 检查请求是否成功
if response.status_code == 200:
    # 将响应内容保存到文件中
    with open(save_path, 'wb') as file:
        file.write(response.content)
    print(f"PDF 文件已成功保存到 {save_path}")
else:
    print(f"下载失败,状态码: {response.status_code}")

以下是代码的详细步骤:

  1. 导入所需的库

    • os 用于处理文件和目录。
    • requests 用于发送 HTTP 请求。
    • io.BytesIO 用于处理二进制数据(本例中未直接使用,但可以在处理更复杂的二进制文件时使用)。
  2. 定义下载链接和保存路径

    • url 是要下载的 PDF 文件的链接。
    • save_folder 是保存文件的本地文件夹。
    • filename 是要保存的 PDF 文件名。
    • save_path 是文件的完整保存路径。
  3. 确保保存文件夹存在

    • 使用 os.path.exists 检查文件夹是否存在。
    • 如果不存在,使用 os.makedirs 创建文件夹。
  4. 发送 HTTP GET 请求

    • 使用 requests.get(url) 发送 GET 请求获取 PDF 文件。
  5. 检查请求是否成功

    • 如果状态码为 200,表示请求成功。
    • 使用 with open(save_path, 'wb') as file 打开文件进行二进制写入。
    • 使用 file.write(response.content) 将响应内容写入文件。
  6. 打印成功或失败信息

    • 如果下载成功,打印成功信息。
    • 如果下载失败,打印失败信息和状态码。

运行这段代码后,PDF 文件将被下载并保存到本地 data 文件夹中。


http://www.kler.cn/a/384848.html

相关文章:

  • 深入理解 Git 及其工具的用途、使用方法与区别
  • Spring Boot——日志介绍和配置
  • 在PHP8内,用Jenssegers MongoDB扩展来实现Laravel与MongoDB的集成
  • C#笔记 —— 事件
  • 华为OD机试真题-用户调度问题-2024年OD统一考试(E卷)
  • 【数据集】【YOLO】【目标检测】抽烟识别数据集 6953 张,YOLO/VOC格式标注,吸烟检测!
  • 【大数据学习 | kafka高级部分】kafka的kraft集群
  • nginx平滑重启和php-fpm平滑重启
  • qt QListWidgetItem详解
  • 计算机网络:网络层 —— 软件定义网络 SDN
  • HarmonyOS Next(鸿蒙星河版)侧载应用
  • VB中如何处理性能优化问题,如减少内存泄漏、提高执行效率等
  • 【Python】图片处理
  • 一招解决Mac没有剪切板历史记录的问题
  • Go八股(Ⅳ)***slice,string,defer***
  • scala Map训练
  • MongoDB面试专题33道解析
  • fastadmin后台列表根据所选中的行统计指定字段|fastadmin点击checkbox或反选统计某个字段的值
  • 关于git命令
  • 潮玩宇宙方块兽系统开发:可定制UI与多种游戏内嵌助力个性化体验
  • 【JAVA毕业设计】基于Vue和SpringBoot的图书馆管理系统
  • GS-SLAM论文阅读--High-Fidelity SLAM Using Gaussian Splatting
  • 设计模式之——观察者模式
  • Vue3+element-plus摘要
  • 从零学习大模型(十四)-----量化(一)
  • Autosar 存储闲聊:使用EEP配Flash存储方案的可靠性和耐久性