[TIL]9月24日:OpenAPI


チーム計画を作成する...TILを使うには...体が一つしかないので忙しいですか.もっと力を入れて🔥🔥
今日、公共データポータルサイトで、韓国観光公社の国文観光情報サービスに対するOpen APIを利用するため、活用を申請した.このopen APIには多くの情報が含まれており、位置ベースの観光情報を使用してクエリーします.
でも最初から大変でした.

公共データポータルサイトで事前にテストして、発行した認証鍵を入れて、プレビューボタンをクリックすることができます.でも!未登録の鍵なのでエラーが発生しました.インターネットで検索した結果、1~2時間後には正常に戻る可能性があります.しかし3時間が過ぎても進展せず、結局韓国観光公社に電話で問い合わせた.私は好奇心を我慢できません...韓国観光公社apiの責任者によると、韓国観光公社の表にはまだ私が申請したデータがないという.だから担当者は私を監視し続けると言って、私の申請情報が見えなければ、また電話してくれます.
電話を切って、1時間から2時間後にもう一度試して、正常に動作します.
このapi応答のデータはxml形式です.私が欲しいのはjsonフォーマットです.ここではxmlを提供しています.jsonに変換する必要があります.
Pythonのxmltodictライブラリをgooglingで理解し、このライブラリとjsonライブラリを使用してxmlフォーマットをjsonフォーマットに変換します.
import requests
import xmltodict
import json

headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
    }

key = '인증 키'

url = '요청 url'

r = requests.get(url, headers=headers)

dictionary = xmltodict.parse(r.text)  # xml을 파이썬 객체(딕셔너리)로 변환
jsonDump = json.dumps(dictionary)  # 파이썬 객체(딕셔너리)를 json 문자열로 변환
jsonBody = json.loads(jsonDump)  # json 문자열을 파이썬 객체(딕셔너리)로 변환

print(jsonBody)
googlingを参考に上記のコードを完成しました.実行するとjson形式に変換が表示されます!!