Python requests 获取并直接下载文件
2024.01.17 20:18浏览量:34简介:Python的requests库可以帮助你轻松发送HTTP请求,包括获取文件。以下是一个简单的示例,说明如何使用requests库获取文件并将其保存到本地。
在Python中,你可以使用requests库来发送HTTP请求,并获取文件。以下是一个简单的示例,说明如何使用requests库获取文件并将其保存到本地。
首先,确保你已经安装了requests库。如果还没有安装,可以通过运行以下命令来安装:
pip install requests
接下来,你可以使用以下代码来获取文件并将其保存到本地:
import requestsdef download_file(url, save_path):response = requests.get(url, stream=True)response.raise_for_status() # 如果请求失败,将抛出异常# 检查保存路径是否存在,如果不存在则创建目录if not os.path.exists(os.path.dirname(save_path)):os.makedirs(os.path.dirname(save_path))with open(save_path, 'wb') as f:for chunk in response.iter_content(chunk_size=8192):if chunk: # 检查是否有数据块可用f.write(chunk)
在这个示例中,我们定义了一个名为download_file的函数,它接受两个参数:文件的URL和保存文件的路径。函数首先使用requests.get方法发送GET请求来获取文件。stream=True参数允许我们逐块读取数据,而不是一次性读取整个文件。
然后,我们检查响应的状态码以确保请求成功。如果请求失败(例如,由于HTTP错误状态码),我们使用raise_for_status方法抛出异常。
接下来,我们检查保存路径是否存在,如果不存在则创建目录。然后,我们打开文件以二进制写模式(’wb’),并使用response.iter_content方法逐块读取响应的内容。这个方法返回一个生成器,每次迭代都会返回一个数据块。我们将每个数据块写入文件。
你可以通过调用download_file函数并传递适当的参数来使用这个函数。例如:
download_file('https://example.com/file.txt', '/path/to/save/file.txt')
这将从URL https://example.com/file.txt 下载文件,并将其保存到本地的 /path/to/save/file.txt 路径中。
请注意,在实际应用中,你可能需要处理更多的异常情况,并根据需要进行适当的调整。这个示例只是一个基本的起点,可以帮助你开始使用requests库来获取和保存文件。

发表评论
登录后可评论,请前往 登录 或 注册