본문 바로가기

프로그래밍/Python

Papago 번역 API 사용하기

네이버 개발자센터( https://developers.naver.com/main/ )에서 제공하는 Open API 중에서, Papao 번역 API 사용을 위한 방법입니다.

 

먼저 네이버 개발자 센터의 Papago 번역과 관련된 내용의 페이지로 접속하면, 하단에 오픈 API 이용 신청 방법이 있습니다.
( https://developers.naver.com/products/papago/nmt/nmt.md)

 

Step 1. 

API 사용에 대한 이용 약관에 먼저 동의를 합니다.

 

Step 2

다음은 계정 정보를 등록합니다. 

저는 개인적으로 사용하는 것이기 때문에 개인 계정 정보를 확인하여 등록합니다.

 

 

Step 3

다음은 API 이용 신청을 할 애플리케이션을 등록합니다. 

애플리케이션 명과, 사용 할 API를 선택합니다. Papago 번역 API를 사용 할 것이기 때문에 Papago 번역을 선택합니다.

 

 

API를 위해 생성된 애플리케이션의 Client ID와 Client Secret 정보를 다음과 같이 확인 할 수 있습니다.

해당 ID와 Secret를 이용해서, Papago 번역을 사용 할 수 있습니다.

 

네이버 개발자 센터에서 제공하는 예시 코드를 약간 수정하여 아래와 같이 코드를 작성했습니다.

지정한 문장을 번역 문장과 함께 출력합니다.

 

Papago 번역 API의 경우 무료로 사용 할 수 있기는 하나, 하루에 API를 호출 할 수 있는 양(10000자)이 제한적이기 때문에 간단한 테스트 정도로 사용 할 수 있습니다. 

참고로, 한 번에 번역 가능한 최대는 5,000자입니다. 

사용 가능한 API량은 애플리케이션 정보에서 다음과 같이 확인이 가능합니다.

 

import os
import sys
import urllib.request
import json
client_id = "개발자센터에서 발급받은 Client ID 값"
client_secret = "개발자센터에서 발급받은 Client Secret 값"
src_text = "저는 ZIGISPACE라는 블로그를 운영하는 ZIGI라고 합니다."
encText = urllib.parse.quote(src_text)
data = "source=ko&target=en&text=" + encText
url = "https://openapi.naver.com/v1/papago/n2mt"
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('utf-8')
    result =json.loads(response_body)  
    print(f"원  문({result['message']['result']['srcLangType']}) : {src_text}")
    print(f"번역문({result['message']['result']['tarLangType']}) : {result['message']['result']['translatedText']}")
else:
    print("Error Code:" + rescode)