본문 바로가기

Programming/Project

네이버 파파고 API로 번역 프로그램 만들기 by Python

외국에서 나온 자료들을 참고해야 될 때 그냥 파파고나 구글번역을 사용해서 번역을 한번 해서 보는 경우가 있다.

지난번 네이버 애플리케이션 등록을 할 때 발급받은 키에 파파고 API 서비스를 추가하여 txt로 저장된 영어로 한글로 번역하고

텍스트 파일로 저장해 주는 코드를 작성했다.  

2020/02/10 - [Programming/Setting] - Naver 애플리케이션 등록 (API 이용신청)

import requests

# Naver API KEY

client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

# 파파고 API 요청 URL
url = "https://openapi.naver.com/v1/papago/n2mt"

f = open('Text.txt', encoding='utf-8') # 원본 파일
data = f.read() # 번역 대상 문자열
f_result = open("result.txt", 'w') # 결과 저장 파일

# API Key 헤더 삽입
headers = {"X-Naver-Client-Id":client_id, "X-Naver-Client-Secret":client_secret}

# 영어 - 한글로 번역 지정
params = {"source":"en", "target":"ko", "text":data}

try:
    response = requests.post(url, headers=headers, data=params)
    result = response.json()
    
    # 결과 json response에서 번역된 값만 추출하여 저장
    f_result.write(result['message']['result']['translatedText'])

    print(result['message']['result']['translatedText'])

except Exception as e:
    print(e)

f.close()
f_result.close()

 

API 제약상 하루에 공백을 포함해 10,000 글자만 번역 제한이 있는데 해결하는 방법은 아래정도 있을 것 같다.

- 개발 API Key 여러개 발급받아 놓고 10,000글자 단위로 교체

- 네이버 클라우드 플랫폼 과금 이용(기본 월 2만원 정해진 글자 수 단위 과금)