본문 바로가기
Program/Language

[Python] 네이버 번역 API 예제

by 소중하루 2020. 12. 3.
반응형

네이버 번역 API

 

python 네이버 번역 API 예제

 

 

 

기존에 Google 번역 API googletrans 를 잘 쓰고 있었는데

몇일 전부터 번역이 안되고 오류가 나기 시작했습니다.

오류 수정을 해보기도 했고 googletrans 를 다시 설치 해보기도 했지만

계속된 오류로 인해서 네이버 API 로 변경을 했습니다.

 

 

 

Python googletrans 사용은 아래를 참조해주시고
https://oopaque.tistory.com/99

 

[Python] Google 번역 API 예제

[Python Google 번역 API 예제] 파이썬에서 영문을 구글 번역기를 돌려서 출력을 해야 할 경우 사용 할수 있는 예제 입니다 1. googletrans 패키지를 설치 합니다 $ pip install googletrans 2. 번역을 하기..

oopaque.tistory.com

 

 

동일하게 오류나 나시는 분은 아래 참조해서 시도해보셔도 될거 같습니다.

 

https://oopaque.tistory.com/156

 

[Python] googletrans 'NoneType' object has no attribute 'group'

갑자기 Python 구글 번역 API googletrans 에서 오류가 나기 시작했습니다. 'NoneType' object has no attribute 'group' 구글 검색을 해보니 아래와 같이 googletrans 를 uninstall 한 후 재 설치 하라고..

oopaque.tistory.com

 

 

 

 

네이버 API 를 사용하기 위해서는 먼저 API 이용신청을 해야 합니다

 

developers.naver.com/apps/#/register

 

애플리케이션 - NAVER Developers

 

developers.naver.com

 

 

애플리케이션 이름은 내가 구분하기 위한 이름이고

사용 API 를 Papago 번역을 선택하고

환경은 자신에게 맞는 환경을 선택해주시면됩니다.

전 Python 프로그램이라 WEB 설정 으로 했고

웹서비스 URL 은 네이버 그대로 넣으셔도 됩니다.

 

 

네이버 번역 API

등록하기를 하면 바로 Client ID, Client Secret 를 바로 발급해줍니다.

 

 

네이버 번역 API

 

 

네이버API 일일허용량이고

테스트 하면서 돌려봤더니 벌써 허용량을 넘겨버렸네요.

추가로 API 신청을 여러개 해서 분산해서 사용도 가능합니다.

 

네이버 번역 API

 

 

Python 네이버 번역 API 예제

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#-*- coding: utf-8 -*-
import json
import urllib.request
 
client_id = "xxxxxxxx" # 개발자센터에서 발급받은 Client ID 값
client_secret = "yyyy" # 개발자센터에서 발급받은 Client Secret 값
 
encText = urllib.parse.quote("Hello naver")
data = "source=en&target=ko&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()
    print(json.loads(response_body)['message']['result']['translatedText'])
else:
    print("Error Code:" + rescode)
cs

 

 

네이버 API 는 일일허용량과 빠르게 호출하면 에러를 리턴하지만

사이드 프로젝트 할때 요긴하게 사용할 수 있습니다.

 

반응형

댓글