前言我为什么会想到要写一个下载器呢,实在是被百度云给逼的没招了,之前用 Axel 配合直链在百度云下载视频能达到满速,结果最近两天 Axel 忽然不能用了,于是我就想着要不干脆自己写一个吧,就开始四处查询资料,这就有了这篇博客。我假设阅读这篇博客的你已经对以下知识有所了解:Python 的文件操作Python 的多线程Python 的线程池Python 的 requests 库HTTP 报文的首部信息下载获取文件采用的是 requests 库,该已经封装好了许多 http 请求,我们只需要发送 get 请求,然后将请求的内容写入文件即可:import requests
r = requests.get('http://files.smashingmagazine.com/wallpapers/july-17/summer-cannonball/cal/july-17-summer-cannonball-cal-1920x1080.png')
with open('wallpaper.png', 'wb') as f:
f.write(r.content)随后看看文件夹,那张名为wallpaper.png的图片就是我们刚刚下载的。但是这个功能太简单了,甚至简陋,我们需要多线程并发执行下载各自的部分,然后再汇总。拆分为了拆分,首先得知道数据块的大小,HTTP 报文首部提供了这
...
继续阅读
(29)