Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 전역스타일
- s3
- styled-component
- ACM
- e.stopPropagation()
- GlobalStyle
- nestjs
- docker
- typeorm
- 롤
- requests
- Github Actions
- Django
- ci/cd
- route53
- 리액트
- mysqlclient
- Python
- AWS
- React
- e.preventDefault()
- 카카오 로그인
- 배포
- CloudFront
- Object.freeze()
- liunx
- riotapi
- Recoil
- 자바스크립트
- code-server
Archives
- Today
- Total
군붕이의 메모장
파이썬 requests 모듈을 이용하여 이미지 다운로드 하기 본문
반응형
라이엇에서 제공하는 소환사 아이콘 이미지를 다운로드 할려고 한다.
하지만 라이엇에서 제공하는 아이콘은 약 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)
반응형