728x90
반응형
1. 네이버 Developers api key 발급받기
https://developers.naver.com/main/
- 링크 접속 후 로그인 해주세요
- Application -> 어플리케이션 등록 클릭
- 어플리 케이션 이름을 입력
- 사용 API는 언어감지와 번역을 모두 선택
2. 코드 구현 (예시)
import json
import urllib.request
from secret import *
def get_translate(text):
lang = get_lang(text)
data = "source="+ str(lang) +"&target=ko&text=" + text
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()
result = json.loads(response_body)
return(result['message']['result']['translatedText'])
else:
print("Error Code:" + rescode)
def get_lang(text):
content = "query=" + text
url = "https://openapi.naver.com/v1/papago/detectLangs"
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=content.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
lang = json.loads(response_body)
return lang['langCode']
else:
print("Error Code:" + rescode)
print(get_translate("Hello, I'm yeachan"))
- get_lang(text)함수는 인자로 받은 text가 어느나라 언어인지 판단해주는 함수이다.
- get_lang()에서 인식한 나라 코드를 get_translate()에서 번역할 때 사용해준다.
마무리
- papago 번역은 하루에 10000자, papago 언어감지는 2000000자를 무료로 사용할 수 있다.
- 번역 퀄리티만 봤을 때 구글 번역 api보다 훨씬 좋다고 느껴진다.
728x90
반응형
'Python > [파이썬] API' 카테고리의 다른 글
[파이썬]GPT API를 활용해 블로그 포스팅 자동 생성 (4) | 2023.08.06 |
---|---|
[파이썬] GPT API 사용하기 (0) | 2023.08.04 |