【python实战】多线程下载文件
【摘要】
点赞再看,养成好习惯
哈喽,大家好,我是一条。
相信大家都遇到过下载文件过慢的时候,今天教大家多线程下载,快到飞起。
1.实现原理
根据url后利用request库获得数据,保存到文件。
将文件分成若干部分,由若干线程分别去下载,再按顺序将文件拼接到一起。
2.实现思路
1.获取文件大小
...
点赞再看,养成好习惯
哈喽,大家好,我是一条。
相信大家都遇到过下载文件过慢的时候,今天教大家多线程下载,快到飞起。
1.实现原理
- 根据url后利用request库获得数据,保存到文件。
- 将文件分成若干部分,由若干线程分别去下载,再按顺序将文件拼接到一起。
2.实现思路
1.获取文件大小
根据url获得请求头后发现是一个json串,格式化后找到大小
-
res=requests.head(url)
-
size = int(res.headers['Content-Length'])
2.分割文件
-
n=5
-
spos = []
-
fpos = []
-
persize=size//n #每一份的大小
-
intsize=persize*n #整份的大小
-
for i in range(0,intsize,persize):
-
spos.append(i) #每一段的初值
-
fpos.append(i+persize-1) #每一段的终值
-
if(intsize<size):
-
fpos[n-1]=size #不能整除的剩余部分
3.下载并写入文件
文章来源: blog.csdn.net,作者:一条coding,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/skylibiao/article/details/115470878
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)