프로그래밍 언어/파이썬

파이썬 requests 모듈을 이용하여 이미지 다운로드 하기

초보군붕이 2021. 2. 28. 19:42
반응형

라이엇에서 제공하는 소환사 아이콘 이미지를 다운로드 할려고 한다.

 

하지만 라이엇에서 제공하는 아이콘은 약 2800개 정도로 일일히 다운로드 하는것은 불가능했다.

 

그래서 python 에서 제공하는 request 모듈을 사용하여 사진 자동저장을 제작했다.

 

● 롤 프로필 아이콘 리스트 가져오기

Json Link : ddragon.leagueoflegends.com/cdn/11.4.1/data/en_US/profileicon.json

 

우선 프로필 아이콘의 id 와 json 에서 반환해주는 data 내의 key 값이 동일한점을 참고한다.

 

import requests

def getIconId(url):
    req = requests.get(url).json()['data']
    iconIdList = list(req.keys())
    return iconIdList
    
iconListUrl = 'http://ddragon.leagueoflegends.com/cdn/11.4.1/data/en_US/profileicon.json'
iconIdList = getIconId(iconListUrl)
print(len(iconIdList))

 

글 작성일을 기준으로 2855개의 아이콘이 존재한다.

 

● 롤 프로필 아이콘 리스트 저장하기

우선 프로필 아이콘의 이미지 링크는 아래와 같다.

Profile Icon Link : http://ddragon.leagueoflegends.com/cdn/11.4.1/img/profileicon/{프로필 아이콘 ID}.png

 

 

import requests


def getIconId(url):
    req = requests.get(url).json()['data']
    iconIdList = list(req.keys())
    return iconIdList


def downloadIconImage(iconIdList):
    for icon in iconIdList:
        url = f'http://ddragon.leagueoflegends.com/cdn/11.4.1/img/profileicon/{icon}.png'
        req = requests.get(url)
        file = open(f'{icon}.png', 'wb')
        file.write(req.content)
        file.close()


iconListUrl = 'http://ddragon.leagueoflegends.com/cdn/11.4.1/data/en_US/profileicon.json'
iconIdList = getIconId(iconListUrl)
downloadIconImage(iconIdList)

 

 

반응형