프로그래밍 언어/파이썬
파이썬 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)
반응형