Я пишу сценарий, который загружает некоторые видео из Dropbox. Обычно моя скорость загрузки составляет около 150 кб/с, это при использовании обычного загрузчика в firefox или IDM. Но при использовании этого скрипта Python все становится слишком медленным: менее 10 кб/сек.Увеличьте скорость загрузки запросов
Вот код, я использую:
def download(url,i):
local_filename = "video_" + str(i) + ".mp4"
# NOTE the stream=True parameter
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
n = 0
for chunk in r.iter_content(chunk_size=1000000):
if chunk: # filter out keep-alive new chunks
n = n +1
f.write(chunk)
print "downloading " + str(n)
f.flush()
return local_filename
Есть в любом случае я мог бы ускорить загрузку?
Любопытно, как вы рассчитываете скорость загрузки в вашем скрипте? – CaffeineAddiction
Вы пробовали установить chunk_size в None вместо того, чтобы передавать число. Я считаю, что это позволяет iter_content определять объем содержимого для загрузки в память перед его итерацией на нем. Кажется, что вы загружаете много в память, прежде чем выполнять какую-либо работу. – reticentroot