これは自然言語処理100本ノック2020に挑んだ、とある人間の記録。
他の問題はこちら → 自然言語処理100本ノック2020から逃げるな まとめ
29. 国旗画像のURLを取得する
テンプレートの内容を利用し,国旗画像のURLを取得せよ.(ヒント: MediaWiki APIのimageinfoを呼び出して,ファイル参照をURLに変換すればよい)
Pythonコード
import NLP100_28 import requests import webbrowser def get_url(titles): S = requests.Session() URL = "https://en.wikipedia.org/w/api.php" PARAMS = { "action":"query", "format":"json", "prop":"imageinfo", "titles":titles, "iiprop":"url" } R = S.get(url=URL, params=PARAMS) DATA = R.json() # pprint(DATA) PAGES = DATA["query"]["pages"] for v in PAGES.values(): return v["imageinfo"][0]["url"] if __name__ == "__main__": dict = NLP100_28.get_template_no_mediawiki_markup() for k, v in dict.items(): if k == "国旗画像": url = get_url("File:" + v) print(url) webbrowser.open(url)
28. MediaWikiマークアップの除去で作成したget_template_no_mediawiki_markup関数を利用しています。
実行結果
https://upload.wikimedia.org/wikipedia/en/a/ae/Flag_of_the_United_Kingdom.svg