使用urllib爬取圖片時出現的錯誤urllib.error.ContentTooShortError
阿新 • • 發佈:2018-11-16
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)