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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhao_5352269/article/details/84135711

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

错误信息

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

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

扫描二维码关注公众号,回复: 4098497 查看本文章

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

猜你喜欢

转载自blog.csdn.net/zhao_5352269/article/details/84135711