要下载 PDF 文件并将其保存到本地文件夹中,你可以使用 Python 的 requests
库来发送 HTTP 请求,并使用 os
和 io
库来处理文件操作。以下是一个示例代码,展示了如何从给定的 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}")
以下是代码的详细步骤:
-
导入所需的库:
os
用于处理文件和目录。requests
用于发送 HTTP 请求。io.BytesIO
用于处理二进制数据(本例中未直接使用,但可以在处理更复杂的二进制文件时使用)。
-
定义下载链接和保存路径:
url
是要下载的 PDF 文件的链接。save_folder
是保存文件的本地文件夹。filename
是要保存的 PDF 文件名。save_path
是文件的完整保存路径。
-
确保保存文件夹存在:
- 使用
os.path.exists
检查文件夹是否存在。 - 如果不存在,使用
os.makedirs
创建文件夹。
- 使用
-
发送 HTTP GET 请求:
- 使用
requests.get(url)
发送 GET 请求获取 PDF 文件。
- 使用
-
检查请求是否成功:
- 如果状态码为 200,表示请求成功。
- 使用
with open(save_path, 'wb') as file
打开文件进行二进制写入。 - 使用
file.write(response.content)
将响应内容写入文件。
-
打印成功或失败信息:
- 如果下载成功,打印成功信息。
- 如果下载失败,打印失败信息和状态码。
运行这段代码后,PDF 文件将被下载并保存到本地 data
文件夹中。