使用urllib爬取图片时出现的错误urllib.error.ContentTooShortError

urllib.error.ContentTooShortError:

这是因为urlretrieve下载文件不完整造成的

可以接受这种异常重新写一个方法处理这个问题,可以在去调用这个方法重新去下载,也可以重新用requests下载。

因为重新调用这个方法,有时下载会超时。参考博客https://blog.csdn.net/jclian91/article/details/77513289

不过没有采用博主的方法,我只是还是用urllib.request.urlretrieve方法,超过次数以后自动停止并打印错误信息。

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

试过几次后发现错误还是出现,打印后 发现该图片来自有道,而且用网页访问也访问不到http://note.youdao.com/yws/res/758/OFFICE2600C11F83B54F079F5EAFD42991C8E5

错误信息

使用urllib爬取图片时出现的错误urllib.error.ContentTooShortError_第1张图片

最后使用判断直接过滤掉,

过滤掉之后又发现一个错误

使用urllib爬取图片时出现的错误urllib.error.ContentTooShortError_第2张图片

通过万能的百度以后发现是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)

更多内容关注我的微信公众号

 

你可能感兴趣的:(python,爬虫,urllib,Python爬虫基础到进阶)