之前看到了proxyee-down,很不错,于是想用Python实现下。之前结合pyqt5和django实现过一个版本。无奈实现的不好。于是就想写个简单的。

原理:

一个文件分多段下载,具体可参考这个加速思路。再加上python的asyncio,速度就飙上去了。

程序架构

细节

1 多个协程同时写文件时会导致文件乱码,需要加锁

2 请求用的是aiohttp,感觉不是很好。python3.5会有问题。HEAD请求不直接重定向,但是GET却开启了自动重定向。获取文件信息的时候同时用HEAD和GET,于是GET的allow_redirects直接设置成了False。

说明

理论上只要支持分段下载,都能加速。但是百度网盘是个例外。至少我没有成功过。

效果图

代码地址

https://github.com/woshimanong1990/download_file_gui

exe下载

https://github.com/woshimanong1990/download_file_gui/releases

补充:

建了一个qq群:389954854,主要目的是互帮互助,通过交流促进python技术。很多初学者往往不知道如何下手,还等什么,快快加入进来吧!

或者关注微信公众号:python码码有趣的

python 实现的异步加速下载工具相关推荐

  1. 使用python编写的落网电台下载工具

    使用python编写的落网电台下载工具 落网是个非常不错的独立音乐介绍网站,但是上面提供的歌曲仅供试听,没有提供下载链接.相信不少同学都想过有没工具把歌曲下载下来呢?答案是:有. 我最早是使用遨游浏览 ...

  2. 给Python漫画分集标题目录下载工具添加从列表文件下载功能

    前情提要: 上一章,我们给这个漫画分集标题下载工具加上了多线程的功能.实际上,这个工具已经可以完成很多功能了,只要你稍微修改一下,下载什么图片,什么微信文章,漫画啥的,基本上,问题不大.甚至你还可以加 ...

  3. 加速下载工具motrix

    一.下载技巧 1.1.motrix工具 介绍 下载工具 motrix,这是一个开源的,非常好用的下载工具.只要给下载地址就可以下载,并且速度还非常快.同时支持的语言也非常多,注意:在官网只能下载苹果的 ...

  4. Python tkinter 如何实现网站下载工具?将所有数据一键获取

    前言 铁汁们有没有想过,如何把几个代码的功能结合到一起呢? 有想过的话,有没有实现过呢? 其实很简单的啊,咱就写一个界面就好了,想要哪个代码运行,鼠标轻轻一点就行 开发环境 python 3.8: 解 ...

  5. Python爬虫+PyQt5制作mp3下载工具

    实际效果如下图所示: 源代码有四个文件,分别是kugou.ui.kugou_ui.py.my_spider.py.main.py. kugou.ui: <?xml version="1 ...

  6. Python 实现视频爬取下载及断点续传优化、异步下载

    转载自公众号:FightingCoder 一般情况下我们使用爬虫更多的应该是爬数据或者图片吧,今天在这里和大家分享一下关于使用爬虫技术来进行视频下载的方法,不仅可以方便的下载一些体积小的视频,针对大容 ...

  7. 支持百度学术搜索!Python文献超级搜索下载工具又更新了!

    文献搜索对于广大学子来说真的是个麻烦事,如果你的学校购买的论文下载权限不够多,或者你不在校园网覆盖的范围内,想必会令你非常头痛. 幸好,我们有Python制作的这个论文搜索工具,简化了我们学习的复杂性 ...

  8. 重大优化!Python文献超级搜索下载工具

    文献搜索对于广大学子来说真的是个麻烦事,如果你的学校购买的论文下载权限不够多,或者不在校园内,那就很头痛了.幸好,我们有Python制作的这个论文搜索工具,简化了我们学习的复杂性 2020-05-28 ...

  9. python电脑下载什么软件-Python编程软件(专业电脑编程工具)V3.9.1 最新版

    Python编程软件(专业电脑编程工具)是一款十分优秀好用的专业电脑编程辅助工具.哪款编程工具比较好用?小编为你推荐这款Python编程软件,功能强大全面,使用后可以帮助用户更轻松高效的进行电脑编程操 ...

最新文章

  1. python【力扣LeetCode算法题库】151- 翻转字符串里的单词
  2. Linux时间子系统之(一):时间的基本概念【转】
  3. 苹果电脑安装python-4. 在苹果系统上使用 Python
  4. java 头尾 队列_Java数据结构之队列(动力节点Java学院整理)
  5. 【Transformer】视觉Transformer最新进展——持续更新
  6. cin指定输入截止符
  7. 为什么象网络蚂蚁这样的多线程程序可以加快下载速度?
  8. 【python文本分析】——基于股评文本的情绪分析
  9. csgo删除服务器地图在哪个文件夹,CSGO de_cache地图
  10. 使用daemontools监控zookeeper,storm等进程
  11. 计算机一级ps怎么保存,2017年计算机等考一级PS辅导:PS图像格式详细解说
  12. 购房指南—新房交房注意事项细节有哪些
  13. enter不换行 wps_wps表格按enter键不能换行解决方法教程
  14. QCMS企业建站系统 v5.0.1
  15. websocket协议详解
  16. VS2019如何修改字体
  17. Eclipse+Java+Swing+Mysql实现员工工资管理系统
  18. 宇宙最强IDE!微软正式宣布 Visual Studio 2019
  19. 跨域 万金油解决方法 非原理向
  20. Unifying Offline and Online Multi-graph Matching via Finding Shortest Paths on Supergraph

热门文章

  1. godaddy账号以及域名被盗找回经历以及网络信息安全的思考
  2. 物联卡中心:不需要实名认证的物联网卡到底靠谱吗
  3. iPhone苹果手机Apple id帐号如何永久性注销删除数据?
  4. 无法将“babel”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  5. 2022云原生网络趋势 | K8s托管整个基础设施、多云、边缘计算、安全等场景,将云原生网络带向新战场
  6. 南开教授因个人简历太好笑冲上热搜!学校回应来了!
  7. 中国古代著名的四大书院
  8. 【爬虫】Yhen带你用Python打造每日新闻资讯速达小工具。
  9. openEuler 20.03 LTS面向RK3399移植系列(4)—验证和问题分析openEuler 20.03 LTS面向Firefly RK3399的第一个版本
  10. 在Thinkpad中设置电池管理阈值