Python怎么通过url下载网络文件到本地
阅读原文时间:2023年08月25日阅读:1

以下代码演示Python怎么从网络下载一个文件至本地并保存在当前文件夹download

import os
import requests
from urllib.parse import urlparse

def download_file(url):
    response = requests.get(url, stream=True)
    response.raise_for_status()

    download_dir = 'download'
    os.makedirs(download_dir, exist_ok=True)

    file_name = os.path.basename(urlparse(url).path)
    print("下载文件名是",file_name)
    file_path = os.path.join(download_dir, file_name)
    print("下载文件路径是",file_path)
    with open(file_path, 'wb') as file:
        for chunk in response.iter_content(chunk_size=8192):
            if chunk:
                file.write(chunk)

    print(f'文件下载完成: {file_path}')

url = 'https://www.example.com/example.pdf'
file_path = 'download'
download_file(url)

在这个示例代码中,我们使用了urllib.parse.urlparse函数来解析URL,然后使用os.path.basename函数提取URL路径中的文件名。

然后,我们将文件保存到以文件名命名的文件路径中,并将其放在一个名为download的文件夹下。

请注意,使用这种方法来提取文件名并不总是可靠的,因为URL可能不包含文件扩展名,或者URL可能没有明确的文件名。在某些情况下,你可能需要进一步处理文件名以确保正确性。