经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python3 » 查看文章
Python3 实现将bytes图片转jpg格式
来源:jb51  时间:2021/3/8 13:36:14  对本文有异议

需求:

我爬取的图片是bytes格式,需要直接存到本地。

  1. import urllib3
  2. import os
  3. #PIL图像处理标准库
  4. from PIL import Image
  5. from io import BytesIO
  6. http = urllib3.PoolManager()
  7. response = http.request('GET','f.hiphotos.baidu.com/image/pic/item/8d5494eef01f3a29f863534d9725bc315d607c8e.jpg')
  8. result = response.data
  9. #将bytes结果转化为字节流
  10. bytes_stream = BytesIO(result)
  11. #读取到图片
  12. roiimg = Image.open(bytes_stream)
  13. # roiimg.show() #展示图片
  14. #print(type(result))
  15. #print(response.status)
  16. imgByteArr = BytesIO() #初始化一个空字节流
  17. roiimg.save(imgByteArr,format('PNG')) #把我们得图片以‘PNG'保存到空字节流
  18. imgByteArr = imgByteArr.getvalue() #无视指针,获取全部内容,类型由io流变成bytes。
  19. # dir_name = os.mkdir('baiduimg')
  20. img_name = '1.jpg'
  21. with open(os.path.join('baiduimg',img_name),'wb') as f:
  22. f.write(imgByteArr)

补充:python3保存请求中的byte图片流到本地

  1. def getImage():
  2. datestr = getTimeStamp()
  3. imageUrl = "xxxxxurl"
  4. verifyText = requests.get(imageUrl,verify=False).content
  5. print(verifyText)
  6. return verifyText
  7. def getTimeStamp():
  8. TimeStamp = str(time.time())
  9. TimeStamp = TimeStamp.replace(".", "")[0:13]
  10. return int(TimeStamp)
  11. def startEbLoginSystem(username,password):
  12. for i in range(1,100):
  13. result = getImage()
  14. img_name = str(i)+'.jpg'
  15. path = "E:/yzmimages/" + img_name
  16. with open(path, 'wb') as f:
  17. f.write(result)

方法一,使用urllib.urlretrieve()

  1. import urllib
  2. # 网络上图片的地址
  3. img_src = 'https://www.baidu.com/img/bd_logo1.png?where=super'
  4. # 将图片下载到本地
  5. urllib.urlretrieve(img_src,'D:/images/1.jpg')

方法二,使用PIL+requests:

  1. import requests
  2. from PIL import Image
  3. from io import BytesIO
  4. response = requests.get(img_src)
  5. image = Image.open(BytesIO(response.content))
  6. image.save('D:/images/1.jpg')

以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。如有错误或未考虑完全的地方,望不吝赐教。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号