Python怎么通过url下载网络文件到本地
以下代码演示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下载网络文件到本地的更多相关文章
- 【python】下载网络文件到本地
# 下载网络图片文件到本地 import urllib.request rsp=urllib.request.urlopen("http://n.sinaimg.cn/ent/transfo ...
- python下载网络文件
python下载网络文件 制作人:全心全意 下载图片 #!/usr/bin/python #-*- coding: utf-8 -*- import requests url = "http ...
- JAVA多线程下载网络文件
JAVA多线程下载网络文件,开启多个线程,同时下载网络文件. 源码如下:(点击下载 MultiThreadDownload.java) import java.io.InputStream; im ...
- Java读取并下载网络文件
CreateTime--2017年8月21日10:11:07 Author:Marydon import java.io.ByteArrayOutputStream; import java.io ...
- java下载网络文件的N种方式
java下载网络文件的N种方式 通过java api下载网络文件的方法有很多,主要方式有以下几种: 1.使用 common-io库下载文件,需要引入commons-io-2.6.jar public ...
- java下载远程文件到本地
java下载远程文件到本地(转载:http://www.cnblogs.com/qqzy168/archive/2013/02/28/2936698.html) /** * 下载远程文 ...
- paramiko模块的安装和使用(含上传本地文件或文件夹到服务器,以及下载服务器文件到本地)
安装和使用分两步介绍: 介绍一下,本文的运行环境是win7 64位 和python 2.7 . 安装: WIN7_64位 安装python-ssh访问模块(paramiko)的安装教程,本人亲测下面 ...
- JAVA 通过url下载图片保存到本地
//java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { // 构造U ...
- DELPHI TDownLoadURL下载网络文件
DELPHI XE6 FMX 附件:http://files.cnblogs.com/xe2011/IDHttp_fmx.7z unit Unit1; interface uses //引用 Vc ...
- 使用C#下载网络文件
下载 /// <summary> /// 下载文件 /// </summary> /// <param name="URL">下载文件地址< ...
随机推荐
- Django4全栈进阶之路4 APP注册
在 Django 4 中,应用(app)的注册是通过在项目的 settings.py 文件中添加应用名称来实现的.具体步骤如下: 在项目的根目录下创建一个应用目录,该目录应包含一个 apps.py 文 ...
- operation not supported on selected printer
operation not supported on selected printer 版本原因 解决办法, 每次打印前先选择一次打印机属性,弹窗点确认还是取消都行,最后返回再点打印即可
- Springcloud 开始来了解
为什么要学习springcloud? "微服务 "一词源于Martin Fowler 的名为 Microservices 的博文,简单地说, 微服务是系统架构上的一种设计风格, 它 ...
- Android failed linking file resources.
今天在配置一个app 的启动资源文件时老是提示error: failed linking file resources. 且转悠半天这个提示太难定位错误的范围了,最后发现旁边的一个图标,鼠标移入tit ...
- 【一步步开发AI运动小程序】十、姿态动作相似度比较
随着人工智能技术的不断发展,阿里体育等IT大厂,推出的"乐动力"."天天跳绳"AI运动APP,让云上运动会.线上运动会.健身打卡.AI体育指导等概念空前火热.那 ...
- R 语言主成分分析(PCA)实战教程
作者:落痕的寒假原文:https://blog.csdn.net/LuohenYJ/article/details/97950522 声明:本文章经原作者同意后授权转载. 主成分分析 Principa ...
- 生物信息培训之WGCNA-权重基因共表达网络分析
本文分享自微信公众号 - 生信科技爱好者(bioitee).如有侵权,请联系 support@oschina.cn 删除.本文参与"OSC源创计划",欢迎正在阅读的你也加入,一起分 ...
- 如何获取 C#程序 内核态线程栈
一:背景 1. 讲故事 在这么多的案例分析中,往往会发现一些案例是卡死在线程的内核态栈上,但拿过来的dump都是用户态模式下,所以无法看到内核态栈,这就比较麻烦,需要让朋友通过其他方式生成一个蓝屏的d ...
- 一分钟学一个 Linux 命令 - mv 和 cp
前言 大家好,我是god23bin.欢迎来到<一分钟学一个 Linux 命令>系列,今天需要你花两分钟时间来学习下,因为今天要讲的是两个命令,mv 和 cp 命令. mv 什么是 mv 命 ...
- Win11右键菜单改回win10
右键以管理员身份运行终端 reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\In ...