Python urllib.urlretrieve()和wget之间的区别

jrd*_*oko 12 python wget urllib download

我试图使用Python检索500mb文件,我有一个使用的脚本urllib.urlretrieve().我和下载站点之间似乎存在一些网络问题,因为此调用一直挂起并且无法完成.但是,使用wget检索文件往往没有问题.是什么区别urlretrieve(),并wget可能导致这种差异?

Pet*_*ons 17

答案很简单.Python urlliburllib2没有尽可能成熟和健壮.在我的经验中,甚至比wget更好cURL.我编写的代码可以通过HTTP下载千兆字节的文件,文件大小从50 KB到超过2 GB.据我所知,是卷曲软件在这个星球上最可靠的一块,现在这个任务.我认为python,wget甚至大多数Web浏览器都不能在正确性和实现的稳健性方面与之匹配.在一个足够现代的python上使用urllib2以完全正确的方式,它可以变得非常可靠,但我仍然运行一个curl子进程,这绝对是坚如磐石的.

说明这一点的另一种方式是cURL只做一件事,它比任何其他软件做得更好,因为它有更多的开发和改进.Python urllib2是可维护和方便的,适用于小到平均工作负载,但cURL在可靠性方面遥遥领先.

此外,cURL还有许多选项可用于调整可靠性行为,包括重试次数,超时值等.