首页 > 编程语言 >Python怎么通过url下载网络文件到本地

Python怎么通过url下载网络文件到本地

时间:2023-08-24 17:47:34浏览次数:53  
标签:本地 文件名 Python url file download path os

以下代码演示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可能没有明确的文件名。在某些情况下,你可能需要进一步处理文件名以确保正确性。

标签:本地,文件名,Python,url,file,download,path,os
From: https://www.cnblogs.com/minseo/p/17654755.html

相关文章

  • Python3.6升级到3.9
    1.升级openssl到1.1.1ncd/data/softwarescdopenssl-1.1.1n./configmake&&makeinstallln-s/usr/local/lib64/libssl.so.1.1/usr/lib64/libssl.so.1.1ln-s/usr/local/lib64/libcrypto.so.1.1/usr/lib64/libcrypto.so.1.1mv/usr/bin/openssl/usr/bin/o......
  • python 在windows下open打开文件默认编码
    open(self.data_path):python在用open打开文件时,如果默认不指定编码encoding="UTF-8"则会用windows默认的编码,一般为GBK,有的开源代码并未指定编码,但是UTF8的文件,全局修改一下,设置windows环境变量:PYTHONUTF8=1,参考:https://dev.to/methane/python-use-utf-8-mode-on-windows-212i......
  • python-优化算法应用于20种工程优化设计问题
     20种(全网最全)限制性工程设计问题(全网唯一python版):获取链接:https://mbd.pub/o/bread/ZJ2WlZls%1.Threebartrussdesign三杆桁架设计%2.Weldedbeamstructureproblem焊接梁结构问题%3.tension/Compressionspringdesignproblem张力/压缩弹簧设计问题%4.SpeedRe......
  • Python数据结构:哈希表
    哈希散列(哈希)是电脑科学中一种对资料的处理方法,通过某种特定的函数/算法(称为散列函数/算法)将要检索的项与用来检索的索引(称为散列,或者散列值)关联起来,生成一种便于搜索的数据结构(称为散列表)。哈希表是什么哈希表(散列表)是根据键(Key)直接访问内存存储位置的数据结构。根据键(Key)值......
  • Visual Studio Code 修改终端执行python脚本路径的办法
    正常安装完VSCode执行python都是默认在python的安装目录。修改terminal执行的路径在当前文件夹路径; 搜索 python.terminal.executeInFileDir 勾选即可。 ......
  • Windows安装Python
    官网地址一、安装进入官网后,点击Downloads下的Windows 然后选择合适自己的版本,这里以Python3.11.4为例,下载Windowsinstall(64-bit)的下载器 然后勾选AddPython.exetoPATH 然后点击Customizeinstallation 点击Next 更改一下安装的路径,默认的也行 然......
  • 【Python】pandas操作, 取最大值, 最小值, 平均值, 生成 空值, 多个 series合并, 替换
    1.取最大值,最小值,平均值df.max()df.iloc[:,1:].max()df.min()df.mean()#输出indexvalue2.生成空值,带index的seriespd.Series(index=['1','2','3'],dtype='object')"""1NaN2NaN3NaNdtype:objec......
  • 如何获取拼多多推流码并使用OBS进行直播-疯狂URL
    简介拼多多直播在PC端可以用多多视频|多多直播端进行开播,它的功能类似于常见的抖音直播助手和快手直播伴侣等等客户端。此教程测试时间2023-7-12,第三方随时可能会升级,无法保证时效,建议不要升级多多客户端但这些官方自带的功能都比较有限,相对于OBS这样的主流第三方免费的直播推......
  • Python——pip安装weditor失败
    前言python_version:3.11.4内容[email protected]:alibaba/web-editor.gitpipinstall-eweb-editor......
  • Docker 本地私有仓库
    目录一、本地私有仓库二、搭建本地私有仓库1.下载registry镜像2.在daemon.json文件中添加私有镜像仓库地址3.运行registry容器4.镜像打新标签5.上传到私有仓库6.列出私有仓库的所有镜像7.列出私有仓库的centos镜像有哪些tag8.私有仓库下载镜像一、本地私有仓库......