url 이미지 파일로 저장(binary)

requests open binary

이미지 무료 호스팅인 Imgbb.com에
330개의 이미지를 공유하여
pythonblog.co.kr에서 모두 사용하고 있습니다.

여지까지 장애 없이 잘 사용했지만,
그래도 혹시 모르니 330개 이미지 모두 다운받아
백업하는 작업을 진행하였습니다.



requests 와 open 함수를 이용하였습니다.

이미지 경로는 imgbb에 접속하여
모두 선택 후 퍼가기 링크(330개)를 받았습니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#-*-coding:utf-8
import time
import requests
img_data_url = ['https://i.ibb.co/Z83FmrD/string-fn.png','https://i.ibb.co/Jch3hK9/61-timezone-02.png']

save_path='/project2021/pythonblog/myapp/static/img/back/'
for url in img_data_url:    
    full_path = "{}{}".format(save_path, url[url.rfind('/')+1:])
    print("full_path : ",full_path)
    v_img = requests.get(url).content 

    with open(full_path, 'wb') as f: #wb: 쓰기 파이러니
        f.write(v_img)

결과:
full_path : /project2021/pythonblog/myapp/static/img/back/string-fn.png
full_path : /project2021/pythonblog/myapp/static/img/back/61-timezone-02.png

requests를 이용하여 binary(content)로 v_img 변수에 담고,
open함수를 이용해 binary 데이터를 파일로 저장하였습니다.



open 함수

옵션 설명
r 읽기
w 새로쓰기
a 파일내용이어서 추가
t 문자열데이터(텍스트파일)
b 바이너리 파일(이미지, PDF등)

TAG: #open #image #binary #requests #save