国連加盟国の一覧 の続きです。
JSONファイルに 国旗の画像の情報(url width height) が入っている。
この情報から 国旗の画像をダウンロードしてリサイズする
ダウンロードには Python の Requests を使用する
import requests data = requests.get(url).content
url (https://upload.wikimedia.org/wikipedia/en/thumb/9/9e/Flag_of_Japan.svg/800px-Flag_of_Japan.svg.png) から
ファイル名(800px-Flag_of_Japan.svg.png) を抽出する。
from urllib.parse import urlparse import os parsed = urlparse(url) path = parsed.path filename = os.path.basename(path)
from PIL import Image img = Image.open(filename) height_resize = int( (WIDTH * height ) / width ) img_resize = img.resize((WIDTH, height_resize)) img_resize.save(filename_resize)
ファイル名(800px-Flag_of_Japan.svg.png)から
リサイズ後のファイル名(100px-Flag_of_Japan.png) を生成する
import re matched = re.findall('\d+px-(.*).svg.png', filename) name = matched[0] FORMAT_FILENAME = '{width}px-{match}.png' filename_resize = FORMAT_FILENAME.format(width=WIDTH, match=name)
プログラム全体はこちら https://github.com/ohwada/World_Countries/blob/main/un_member_states_flag/python/resize_flag.py