카테고리 없음

[39-4 파이썬] tequila API 활용하기

Olivia-BlackCherry 2022. 10. 4. 22:59

tequila API

tequila는 Kiwi.com에서 제공하는 API는 항공권, 철도 등 교통편 검색과 관련한 정보를 준다.

one-way 편도, return 왕복, multicity 다목적지, nomad 미정의 여정을 선택할 수 있다.

 

 

1. 회원가입

비밀번호 생성규칙이 조금 까다롭다.

대소문자, 숫자 등을 포함해야 한다.

 

2. 시작 전 절차 따르기

- read documentation 공식문서 읽기

- create a solution 사용할 solution 생성하기

- add bank account 나를 인증할 은행 계좌 등록하기

- start using solutions solution 사용하기

 

 

3. create a solution 솔루션 생성하기

create solution> Meta Search API integration>  type choose(one-way 편도, return 왕복, multicity 다목적지, nomad 미정)> Name 입력> create

 

 

 

 

4. API keys 확인하기

 

 

5. API 소개 

- 기본 endpoint 

https://api.tequila.kiwi.com/

1) Locations API

위치 정보

https://api.tequila.kiwi.com//locations/query

- 필수 파라미터 

term

- 선택 파라미터

locale, location_types, limit, active_only, sort

import requests
from pprint import pprint
APIKEY ="자신의 APIKEY 적기"
tequila_url = "자신의 endpoint 적기"
headers = {
    "apikey":APIKEY
}
parameters = {
    "term":"Paris", #내가 찾고자하는 용어
    "location_types":"airport",
    "limit": 1}

response = requests.get(url=tequila_url, headers=headers, params=parameters)
response.raise_for_status()
tequila_datas = response.json()
pprint(tequila_datas)

>>

{'last_refresh': 1664793003,
 'locations': [{'active': True,
                'airport_int_id': 9667,
                'alternative_departure_points': [{'distance': 16.69,
                                                  'duration': 796,
                                                  'id': 'FR-PLAI-PARC'},
                                                 {'distance': 190.06,
                                                  'duration': 7266.3,
                                                  'id': 'LIL'},
                                                 {'distance': 198.74,
                                                  'duration': 8435.4,
                                                  'id': 'XCR'},
                                                 {'distance': 213.47,
                                                  'duration': 8513.2,
                                                  'id': 'DOL'},
                                                 {'distance': 22.52,
                                                  'duration': 1236.7,
                                                  'id': 'FR-PARI-PA10'},
                                                 {'distance': 27.21,
                                                  'duration': 1569.5,
                                                  'id': 'FR-PARI-PAR9'},
                                                 {'distance': 27.37,
                                                  'duration': 1497.7,
                                                  'id': 'FR-PARI-PAR3'},
                                                 {'distance': 27.6,
                                                  'duration': 1586.1,
                                                  'id': 'FR-PARI-PA11'},
                                                 {'distance': 28.62,
                                                  'duration': 1581.7,
                                                  'id': 'FR-PARI-PARI'},
                                                 {'distance': 30.33,
                                                  'duration': 1711.6,
                                                  'id': 'FR-PARI-PAR1'},
                                                 {'distance': 30.48,
                                                  'duration': 1747,
                                                  'id': 'FR-PARI-PAR2'},
                                                 {'distance': 41.46,
                                                  'duration': 2213.1,
                                                  'id': 'FR-DISN-PARI'},
                                                 {'distance': 44.54,
                                                  'duration': 2554.2,
                                                  'id': 'ORY'},
                                                 {'distance': 45.49,
                                                  'duration': 2562.7,
                                                  'id': 'XJY'},
                                                 {'distance': 78.32,
                                                  'duration': 3340.6,
                                                  'id': 'BVA'}],
                'alternative_names': ['Aéroport de Paris-Charles-de-Gaulle',
                                      'Paris (CDG)'],
                'car_rentals': [{'provider_id': 1175,
                                 'providers_locations': ['644548']}],
                'city': {'autonomous_territory': None,
                         'code': 'PAR',
                         'continent': {'code': 'EU',
                                       'id': 'europe',
                                       'name': 'Europe',
                                       'slug': 'europe'},
                         'country': {'code': 'FR',
                                     'id': 'FR',
                                     'name': 'France',
                                     'slug': 'france'},
                         'id': 'paris_fr',
                         'name': 'Paris',
                         'nearby_country': None,
                         'region': {'id': 'western-europe',
                                    'name': 'Western Europe',
                                    'slug': 'western-europe'},
                         'slug': 'paris-france',
                         'subdivision': None},
                'code': 'CDG',
                'dst_popularity_score': 4380128.0,
                'global_rank_dst': 9,
                'icao': 'LFPG',
                'id': 'CDG',
                'int_id': 9667,
                'location': {'lat': 49.009722, 'lon': 2.547778},
                'name': 'Charles de Gaulle Airport',
                'new_ground': False,
                'providers': [1028,
                              1035,
                              1053,
                              1064,
                              1096,
                              1128,
                              1148,
                              1163,
                              1165,
                              1175,
                              1227,
                              1229,
                              1282,
                              1283,
                              1291,
                              1329],
                'rank': 18,
                'routing_priority': 0,
                'slug': 'charles-de-gaulle-paris-france',
                'slug_en': 'charles-de-gaulle-paris-france',
                'special': [{'id': 'notre-dame_poi',
                             'name': 'Notre Dame',
                             'slug': 'notre-dame'},
                            {'id': 'versailles_poi',
                             'name': 'Versailles',
                             'slug': 'versailles'},
                            {'id': 'louvre-museum_poi',
                             'name': 'Louvre Museum',
                             'slug': 'louvre-museum'},
                            {'id': 'le-cimetiere-de-pere-lachaise_poi',
                             'name': 'Le Cimetiere de Pere Lachaise',
                             'slug': 'le-cimetiere-de-pere-lachaise'},
                            {'id': 'giverny_poi',
                             'name': 'Giverny',
                             'slug': 'giverny'},
                            {'id': 'eiffel-tower_poi',
                             'name': 'Eiffel Tower',
                             'slug': 'eiffel-tower'}],
                'tags': [{'month_from': -1,
                          'month_to': -1,
                          'tag': 'sightseeing'},
                         {'month_from': -1, 'month_to': -1, 'tag': 'culture'},
                         {'month_from': -1,
                          'month_to': -1,
                          'tag': 'famous cities'},
                         {'month_from': -1, 'month_to': -1, 'tag': 'romance'},
                         {'month_from': -1,
                          'month_to': -1,
                          'tag': 'city break'}],
                'timezone': 'Europe/Paris',
                'tourist_region': [{'id': 'ile-de-france_poi',
                                    'name': 'Ile de France',
                                    'slug': 'ile-de-france'},
                                   {'id': 'greater-paris_poi',
                                    'name': 'Greater Paris',
                                    'slug': 'greater-paris'},
                                   {'id': 'autoroute-utrecht-paris_poi',
                                    'name': 'Autoroute Utrecht Paris',
                                    'slug': 'autoroute-utrecht-paris'}],
                'type': 'airport'}],
 'meta': {'locale': {'code': 'en-US',
                     'status': 'Locale not specified, using default.'}},
 'results_retrieved': 1}

print(tequila_datas['locations'][0]['code'])

>>CDG