Development/파이썬 [Python]

[Python] 파이썬 파파고(Papago) API 연동

요체크다 2022. 11. 15. 17:32
반응형

 네이버에서 제공해주는 Open API를 통해 나만의 번역 프로그램을 만들 수 있습니다.

개인적인 불편함을 해소하고자 파이썬을 통해 간단한 번역 프로그램을 만들어 보면서 테스트한 내역을 공유하고자 합니다.

 역시 사람은 직접 경험해보고 불편함을 느껴야 무언가 아이디어를 생각해내고 새로운 것을 만들려고 시도하는 것 같습니다..

 

우선 네이버에서 제공하는 Open API를 사용하기 위해서는 사용 신청을 하여야 합니다.

 

신청하는 사이트는 아래와 같습니다.

네이버 개발자 센터 - NAVER Developers

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

위 경로에서 Papago 메뉴 클릭, 그리고  "오픈 API 이용 신청" 페이지 통해 API 신청을 진행 하시면 됩니다.

< API 이용신청 페이지>

참고로 저는 API 이용 신청 시 서비스 환경의 경우 "WEB 설정" 으로 하였고, http 주소의 경우 별도 URL 주소가 없어서 http://127.0.0.1 로 설정 하였습니다.

( ※ 저와 같이 별도 URL 주소가 없는 경우에는 http://127.0.0.1 로 등록하여 테스트 가능하니 참조 바랍니다.)

 

등록을 완료한 경우 "내 애플리케이션" 메뉴에서 Client ID와 Client Secret 정보가 발급된 것을 확인할 수 있습니다.

 

이제 본격적으로 파이썬 코드를 통해 파파고 번역 프로그램을 만들어 보겠습니다.

참조할 파이썬 소스 코드는 아래와 같습니다.

import urllib.request
import json

text = '안녕. 뭐해?'
source = 'ko'
target = 'en'

encText = urllib.parse.quote(text)
data = f'source={source}&target={target}&text=' + encText

url = "https://openapi.naver.com/v1/papago/n2mt"
client_id = "" # 개발자센터에서 발급받은 Client ID 값
client_secret = "" # 개발자센터에서 발급받은 Client Secret 값

request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id", client_id)
request.add_header("X-Naver-Client-Secret", client_secret)

response = urllib.request.urlopen(request, data=data.encode("utf-8"))
rescode = response.getcode()

if rescode == 200:
    response_body = response.read()
    decode = json.loads(response_body.decode('utf-8'))
    result = decode['message']['result']['translatedText']
    print(result)
else:
    print('Error Code:' + str(rescode))

결과는 아래와 같이 출력 됩니다.

Hi. What are you doing?

마지막으로 네이버에서 제공하는 파파고 Open API의 경우 무제한 사용 가능한게 아니며,

API호출량/일일허용량 제한이 있으니 이점 참조하여 사용하시기 바랍니다.

<API 호출안내>
< Papago API 지원 언어>

 

반응형