2014-09-24 25 views
0

我有一個正在下載一堆文件的多處理功能。然而,約1比20級的錯誤有以下:使用多處理器並行下載文件

ContentTooShortError: retrieval incomplete 

,我現在用的就是下載文件的功能:

def getter(url, dest): 
    video_files.append(urllib.urlretrieve(url, dest)[0]) 

爲什麼發生這個錯誤,以及如何解決呢?

+1

如果可能,您應該使用請求而不是urllib。 – Tomarinator 2014-09-24 17:18:05

回答

1

由於the documentation狀態,這種情況發生在服務器(正常)關閉,不向你整個身體的HTTP連接,通過Content-Length規定 - 這是一個服務器錯誤

您可以嘗試通過稍後重試來「修復」。

由於您一次抓取多個視頻,因此可能在服務器上有一些機制來檢測並限制此類操作。嘗試對您的請求進行速率限制,看看問題是否仍然存在