Python 图像下载解决图像损坏
在下载图片的过程中,经常会发现图片损坏,下面提供了两种解决方法:
方法一:
if response.status_code == 200:
print '=================================================='
if not os.path.exists(dir_path):
os.makedirs(dir_path)
total_path = dir_path + '/' + file_name
# 核心代码,比较请求返回数据的大小和请求反应头里面的大小
if len(response.content) == int(response.headers['Content-Length']):
# print total_path
with open(total_path, 'wb') as f:
for chunk in response.iter_content(1024):
f.write(chunk)
f.close()
else:
raise FError('图片加载不完全')
else:
raise FError('网络没有正常返回')
方法二:
response = requests.get(url=source_url, headers=headers,verify=False,proxies=proxies,timeout=15)
if response.status_code == 200:
if not os.path.exists(dir_path):
os.makedirs(dir_path)
total_path = dir_path + '/' + file_name image = Image.open(BytesIO(response.content))
image.save(total_path) print "图片保存到本地"
return ""
else:
print "图片没有保存到本地"
这两张方法都下载了一千多张图片作为测试,没有发现下载的图片加载到一半,或者其他错误。
记录下来,仅供以后参考使用。
Python 图像下载解决图像损坏的更多相关文章
- mp4网页播放代码,有声音无图像的解决办法~
mp4网页播放代码,有声音无图像的解决办法~ 关于网页播放mp4格式的视频,找了一些插件,这里推荐一下video.js 官方网址:http://www.videojs.com/ github ...
- Python图像处理丨图像腐蚀与图像膨胀
摘要:本篇文章主要讲解Python调用OpenCV实现图像腐蚀和图像膨胀的算法. 本文分享自华为云社区<[Python图像处理] 八.图像腐蚀与图像膨胀>,作者: eastmount . ...
- Android中解决图像解码导致的OOM问题
Android中解决图像解码导致的OOM问题 原文链接:http://blog.csdn.net/zjl5211314/article/details/7042017
- android:强大的图像下载和缓存库Picasso
1.Picasso一个简短的引论 Picasso它是Square该公司生产的一个强大的图像下载并缓存画廊.官方网站:http://square.github.io/picasso/ 仅仅须要一句代码就 ...
- python 字节转换成图像
python 字节转换成图像 使用base64 1.图片转成字节使用: base64.b64encode() 2.字节转成图片: base64.b64decode() 图片字节串: iVBORw0K ...
- libcurl库的使用(通过libcurl库下载url图像) 【转】
http://www.linuxidc.com/Linux/2015-09/123609.htm?utm_source=tuicool&utm_medium=referral libcurl库 ...
- Python 使用pillow 操作图像
文档:https://pillow.readthedocs.io/en/stable/index.html 计算机图像基础 颜色和RGBA值 计算机程序通常将图像中的颜色表示为 RGBA 值.RGBA ...
- Python 图像处理 OpenCV (3):图像属性、图像感兴趣 ROI 区域及通道处理
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 图像属性 图像 ...
- 跟我学Python图像处理丨何为图像的灰度非线性变换
摘要:本文主要讲解灰度线性变换,基础性知识希望对您有所帮助. 本文分享自华为云社区<[Python图像处理] 十六.图像的灰度非线性变换之对数变换.伽马变换>,作者:eastmount . ...
随机推荐
- Yahoo邮箱最后登录,成为历史!
- time series review
https://pdfs.semanticscholar.org/fc9c/1a94a15dd44c8c61b3e4841ecb9505f8cd37.pdf https://edoc.hu-berli ...
- 用Putty连接连接Linux
1:vi打开 [root@gechong]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 2:编辑IP地址 3:重启服务 [root@gechong /] ...
- px 和 em 的区别
相同点:px和em都是长度单位: 异同点:px的值是固定的,指定是多少就是多少,计算比较容易.em得值不是固定的,并且em会继承父级元素的字体大小.浏览器的默认字体高都是16px.所以未经调整的浏览器 ...
- jmap 命令
1. jmap -heap pid 查看java 堆(heap)使用情况 using thread-local object allocation. ...
- C# TripleDES NoPadding 时对待加密内容进行补字节(8个字节为一个Block)
补一个空格(半角): private static byte[] FormatData(String str) { ; ) return Encoding.GetEncoding(Consts.Cha ...
- springMVC自定义方法属性解析器
使用场景例子: 用户登陆系统一般会往Session里放置一个VO对象,然后在controller里会来获取用户的userId等信息. 之前的写法是:@SessionAttributes配合@Model ...
- ISCSI测试
Initiator为应用客户端,服务端Target包括设备服务器端和队列管理两部分.服务端两种共享方式:1.在服务端共享分区2.在服务端以文件方式作为共享设备共享出来 构建ISCSI网络存储 测试环境 ...
- XmanagerEnterprise-6.0.0092-beat内测版|免费使用
xshell很还好用,目前发布beat6.0免费注册.免费使用... 00.安装 11.扁平化的UI download: 链接: https://pan.baidu.com/s/1qXTjjAG 密码 ...
- android中巧妙更改spinner、AutoCompleteTextView分割线的颜色值(spinner AutoCompleteTextView divider color)
这个问题本来是个不大的问题,但是遇到了就会很郁闷,Android控件的api本身就不太够强大,这个小属性找了好久没找到,今天终于解决,分享给所有遇到这个问题的朋友. spinner下拉列表中间有一条黑 ...