Open API와 연동하는 방식은 주로 json 형식을 사용한다.

POSTMAN 툴을 이용하여 동작여부를 확인해보는것이 좋다.

 

- API : Application Programming Interface
  HTTP를 통해 데이터를 요청하며, XML 이나 JSON 형식으로 응답
- API Server : 스프링 프레임워크, 노드, Django 프레임워크, Flask 프레임워크 


아래 예제는 https://developers.naver.com/ 에서  어플리케이션 등록 후 API 테스트 가능하다.

계정은 본인이 등록된것을 사용하면 된다.

 

  • json 연동 get 방식 예제
import requests
import pprint

headers = {
    'X-Naver-Client-Id': 'TVcdGN315f8ZIswuZ4tX',
    'X-Naver-Client-Secret': '4F9aWQDSdZ',
}
payload = {
    'query': '파이썬',
    'display': 100,
}
url = 'https://openapi.naver.com/v1/search/blug'

# GET 방식 
res = requests.get(url, headers=headers, params=payload)
body = res.json() 
# JSON 포맷으로 응답, null --> None, false --> False, true --> True 로 자동 변환 
pprint.pprint(body)

result = res.json()['items'][2]['title'] 
# items 카의 값을 리스트, 2번째 딕셔너리, title 키의 값을 가져옴 
print(result)

 

  • json 연동 post 방식 예제
from requests import Request
from requests import Session
import pprint

s = Session()
headers = {
    'X-Naver-Client-Id': 'TVcdGN315f8ZIswuZ4tX',
    'X-Naver-Client-Secret': '4F9aWQDSdZ',
}
text = 'Yesterday all my troubles seemed so for away'
payload = {
    'source': 'en',
    'target': 'ko',
    'text' : text,
}
url = 'https://openapi.naver.com/v1/language/translate'
req = Request('POST', url, data=payload, headers=headers) # POST방식 
prepared = req.prepare()
res = s.send(prepared) 
result = res.json()
pprint.pprint(result) # JSON 출력 

result2 = res.json()['message']['result']['translatedText']
print(result2)

'Python' 카테고리의 다른 글

Python 웹 스크레핑 예제  (0) 2022.01.23
Python 이메일 보내기, 가져오기  (0) 2022.01.23
Python csv 파일  (0) 2022.01.23
Python 엑셀 읽기, 쓰기  (0) 2022.01.23
Python 클래스, 상속, Override  (0) 2022.01.23

+ Recent posts