Ответ довольно прост. urllib
и urllib2
у Python далеко не такие зрелые и надежные, какими они могли бы быть. Даже лучше, чем wget в моем опыте cURL
. Я написал код, который загружает гигабайты файлов по HTTP с размерами файлов от 50 КБ до более 2 ГБ. Насколько мне известно, cURL является самым надежным программным обеспечением на планете на данный момент для этой задачи. Я не думаю, что Python, Wget или даже большинство веб-браузеров могут соответствовать ему с точки зрения правильности и надежности реализации. На достаточно современном Python, использующем urllib2 точно правильным образом, его можно сделать довольно надежным, но я все еще использую подпроцесс curl, и это абсолютно надежно.
Еще один способ заявить, что cURL делает только одну вещь, и он делает это лучше, чем любое другое программное обеспечение, потому что у него было намного больше разработки и усовершенствования. Python urllib2
удобен в обслуживании и удобен и работает достаточно хорошо для небольших и средних рабочих нагрузок, но cURL далеко впереди в плане надежности.
Кроме того, cURL имеет множество опций для настройки поведения надежности, включая количество повторов, значения времени ожидания и т. Д.