我正在寻找一个python库或一个命令行工具来并行下载多个文件。我目前的解决方案是顺序下载文件缓慢。我知道你可以很容易地在python中编写一个半条线程的线程解决方案,但是在使用线程时总是遇到麻烦的问题。它用于从网站轮询大量的xml提要。

我对解决方案的要求是:

>应该是可中断的Ctrl C应立即终止所有下载。

>应该没有剩下的过程,你必须手动杀死kill,即使主程序崩溃或抛出异常。

>它也应该在Linux和Windows上工作。

>它应该重试下载,抵御网络错误,并应正确超时。

>应该很聪明,不要用同时下载的100次同时发生同样的服务器,而是以合理的方式排队。

>它应该处理重要的http状态代码,如301,302和304.这意味着对于每个文件,它应该将Last-Modified值作为输入,只有自上次更改以来才下载。

>最好应该有一个进度条,或者应该很容易写一个进度条来监视所有文件的下载进度。

>最好应该利用http keep-alive来最大化传输速度。

请不要建议我如何执行上述要求。我正在寻找一个现成的,经过测试的解决方案。

我想我应该描述我想要的东西…我有大约300个不同的数据源作为从50个数据提供者提供的xml格式的文件。每个文件大小在100kb到5mb之间。我需要经常对他们进行轮询(如每隔几分钟一次)来确定是否有任何新数据需要处理。所以重要的是下载程序使用http缓存来最小化要获取的数据量。它也使用gzip压缩显然。

那么大问题是如何尽可能有效地使用带宽,而不会超出任何边界。例如,如果您打开20个与其数据源的并发连接,则一个数据提供商可能会将其视为滥用行为。相反,最好使用一个或两个重复用于多个文件的连接。或者您自己的连接可能会以奇怪的方式受到限制。我的isp限制了您可以执行的dns查找的数量,因此某种dns缓存将会很好。

python软件在下载库文件_python – 并行下载多个文件的库或工具相关推荐

  1. python下载链接下载文件_python从下载链接下载文件到本地

    1.需要的python库 requests 2.代码(复制可用)#引用 requests文件 import requests #下载地址 Download_addres='https://nj02cm ...

  2. python如何实现下载文件_python实现下载文件的三种方法

    python实现下载文件的三种方法 Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib从ftp站点下载文件. ...

  3. python多线程下载多个文件_python多线程下载文件 练习1

    ***今天在我BF的帮助下完成了小小的程序,也是我第一次写博客呢,谢谢他哦嘎嘎 1.首先,计算出下载文件的长度. conn = urllib.urlopen(url) headers = conn.i ...

  4. python读取docx的内容输出_Python应用 , 读写docx文件!

    字处理软件是平时办公必备的同时也是最常用的软件之一,而字处理软件用的最多最频繁的就是微软的word,其扩展名为docx.在日常工作中,可能需要对很多的docx文件进行批处理,例如教师在批阅学生提交的电 ...

  5. python免费下载及安装_Python的下载及安装

    Python下载可以在百度查找"Python下载": 或者直接搜索此网址:https://www.python.org/getit/ 在官网有python2和python3可供选择 ...

  6. python保存数据到本地文件_python保存数据到本地文件的方法

    python保存数据到本地文件的方法 1.保存列表为.txt文件 #1/list写入txt ipTable = ['158.59.194.213', '18.9.14.13', '58.59.14.2 ...

  7. python读视频文件_python读取和保存视频文件

    如何用python实现视频关键帧提取并保存为图片?也许你会觉得对小编多做一点事你会觉得你很爽,可是在小编看来这是不屑的 import cv2vc = cv2.VideoCapture('Test.av ...

  8. python解压7z文件_Python调用7zip命令实现文件批量解压

    Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Pyt ...

  9. python软件是做啥的_Python软件是干嘛的

    python软件是干嘛的?番茄老师 介绍,python软件是要学习和使用python都需要安装的,python语言目前非常火爆,相比起以前最流行的Java.C/C++等语言,Python相对来讲会更加 ...

最新文章

  1. 理解Java的NIO
  2. face.evoLVe.PyTorch
  3. caffe使用过程中遇到的问题和解决办法
  4. SAP Fiori Elements - object detail batch roundtrip triggered by binding property in embedded xml vie
  5. 人际关系的55个绝招
  6. 与程序员朋友闲聊 通用权限管理系统有啥用?
  7. 博客主之自我介绍(不长,随便瞅瞅)
  8. PayPal付款状态解释-中英文对照
  9. python小程序实现 --- 乌龟吃鱼(练习点——面向对象的特性:继承,多态,封装)
  10. Carp后端开发文档
  11. Elastic Searchable snapshot功能初探 三 (frozen tier)
  12. 实现西门子S71200/1500与三菱FX系列PLC通讯
  13. 知识付费时代,商界大佬化身老师更有前途?
  14. var、let和const
  15. android 陀螺仪滤波_Arduino+mpu6050陀螺仪运用卡尔曼滤波姿态解算实验
  16. unity动画状态机做到立即取消当前动画的播放,再次播放该动画
  17. 1、STM32CubeMX和STM32Cube库(HAL)详细介绍
  18. 【测试】自动化UI测试小工具
  19. 电脑不依靠软件强制删除文件夹及文件
  20. fbd2fbs过采样转换问题

热门文章

  1. 使用navicat工具创建MySQL存储过程
  2. Linux下防御arp***的方法
  3. .中英文系统底层编码导致乱码问题
  4. 利用nofllow与内页链接做好SEO
  5. SQL查询表对应的外键约束
  6. PHP clone() 函数克隆对象
  7. MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
  8. SystemProperities
  9. OpenGL中的颜色再次讨论
  10. 栈、堆、方法区之间的关系