본문 바로가기
개발/AI

[프로젝트 #1] 파파고 번역 API (파이썬)

by 꾀돌이 개발자 2022. 5. 31.
반응형

[파파고 번역 API]

참고자료: https://developers.naver.com/docs/papago/papago-nmt-example-code.md%EF%BB%BF

import os
import sys
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_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))

 

 

line 1 - 4 : 라이브러리 import

 

line 6 - 11 : 번역 언어 선택 및 인코딩

     - line 6 : 번역할 언어 입력

     - line 7 : 원본언어 코드 입력

     - line 8 : 목적언어 코드 입력

     - 언어코드 참고자료: https://developers.naver.com/docs/papago/papago-nmt-api-reference.md

 

line 13 - 15 : url 및 client id, secret 입력

     - line 13 : 고정값

     - line 14 & 15 : 개별 발급받은 id, secret 코드 입력

     - 발급방법 참고자료: https://developers.naver.com/docs/papago/papago-nmt-overview.md

 

line 17 - 19 : url 접속 및 header 입력

 

line 21 - 22 : 데이터 인코딩 후 지정된 url 주소로 데이터 전송 및 응답

     - line 21 : 응답(response) 결과

     - line 22 : HTTP 상태 코드

 

line 24 - 29 : 응답결과 parsing 및 디코딩

     - line 24 : HTTP 상태 코드가 200일 때 = 정상 작동한 경우

     - line 25 : 번역결과 읽어오기

     - line 26 : 응답결과 디코딩 후 dictionary type으로 변환

     - line 27 : 번역결과 반환

     - line 30 : HTTP 상태 코드가 오류 코드일 경우 print

 

반응형