1. 程式人生 > >使用urllib爬取圖片時出現的錯誤urllib.error.ContentTooShortError

使用urllib爬取圖片時出現的錯誤urllib.error.ContentTooShortError

urllib.error.ContentTooShortError: <urlopen error retrieval incomplete

這是因為urlretrieve下載檔案不完整造成的

可以接受這種異常重新寫一個方法處理這個問題,可以在去呼叫這個方法重新去下載,也可以重新用requests下載。

因為重新呼叫這個方法,有時下載會超時。參考部落格https://blog.csdn.net/jclian91/article/details/77513289

不過沒有采用博主的方法,我只是還是用urllib.request.urlretrieve方法,超過次數以後自動停止並列印錯誤資訊。

。。。。。。。。。。。。

試過幾次後發現錯誤還是出現,列印後 發現該圖片來自有道,而且用網頁訪問也訪問不到http://note.youdao.com/yws/res/758/OFFICE2600C11F83B54F079F5EAFD42991C8E5

錯誤資訊

最後使用判斷直接過濾掉,

過濾掉之後又發現一個錯誤

通過萬能的百度以後發現是ssl驗證的問題,驗證不同過就會報此錯誤,python3 Urllib的解決方法,匯入ssl模組

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

 requests的解決方法

res = requests.get('https://images.ptausercontent.com/16', verify=False)