euny!
errorlog
euny!
전체 방문자
오늘
어제
  • 분류 전체보기 (22)
    • Python (13)
    • 데이터분석 (3)
    • WIL (4)
    • SQL (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 크롤링
  • SQL
  • BeautifulSoup
  • 웹스크래핑
  • ㅗ
  • 웹크롤링

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
euny!

errorlog

[Python] 네이버 파파고 번역 API 사용하기
Python

[Python] 네이버 파파고 번역 API 사용하기

2023. 1. 4. 17:17

파파고 번역기 API 사용하기

[사전준비]

1. https://developers.naver.com/  로그인한다.

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

2. Application - 어플리케이션 등록

colab에서 코드만 작성하여 확인할것이기 때문에 서비스 환경은 중요하지 않아 아래와 같이 설정함

3. Application - 내 어플리케이션에서 Client ID 값과 Client Secret 값 확인

 

[코드작성]

0. 통신과 데이터값을 다루기 위한 requests, json import

import requests, json

1. Client ID 값과 Client Secret 값 상수로 할당 ( 보안을 위해 값 마스킹 처리)

CLIENT_ID, CLIENT_SECRET = '*****', '****'

2. 파파고 NMT API 가이드 확인하여 변수 설정

 
text = '만나서 반갑습니다.'
url = 'https://openapi.naver.com/v1/papago/n2mt'
headers = {
    'Content-Type': 'application/json',
    'X-Naver-Client-Id': CLIENT_ID,
    'X-Naver-Client-Secret': CLIENT_SECRET
}
data = {'source': 'ko', 'target' : 'en', 'text' : text}

3. 가이드 확인 후 메서드 요청방식 'POST' 인것 확인 하고 데이터 요청

response = requests.post(url, json.dumps(data), headers=headers)
response

>> <Response [200]>

4. 응답받은 데이터를 text로 출력

en_text = response.json()['message']['result']['translatedText']

위의 코드 함수로 묶어 표현하기

def translate(text, source='ko', targer='en'):
    CLIENT_ID, CLIENT_SECRET = 'hukjWo8k7VAJKqgpmtu4', 'xDYwIjeVuB'
    url = 'https://openapi.naver.com/v1/papago/n2mt'
    headers = {
        'Content-Type': 'application/json',
        'X-Naver-Client-Id': CLIENT_ID,
        'X-Naver-Client-Secret': CLIENT_SECRET
    }
    data = {'source': source, 'target' : targer, 'text' : text}

    response = requests.post(url, json.dumps(data), headers=headers)
    return response.json()['message']['result']['translatedText']
translate('만나서 반갑습니다.')
>> 'Good to meet you.'

 


한글 엑셀파일을 영문 엑셀파일로 번역하기

-> 나중에 pandas 및 관련 함수 공부를 위해 남겨두기..

import pandas as pd
covid = pd.read_excel('covid.xlsx')[['category','title']]
titles = list(covid['title'])

en_titles = map(translate, titles)
en_titles = list(en_titles)

covid['en_titles'] = en_titles

covid.to_excel('covid_en.xlsx', index=False, encoding='utf-8-sig')

'Python' 카테고리의 다른 글

[Python] 기초 문법 - 클래스(2)  (0) 2023.01.06
[Python] 기초 문법 - 클래스(1)  (0) 2023.01.05
[Python] 기초 문법 - 함수  (0) 2023.01.04
[Python] 기초 문법 - 연산자, 조건문, 반복문  (0) 2023.01.03
[Python] 기초 문법 - 변수 선언, 데이터 타입  (0) 2023.01.02
    'Python' 카테고리의 다른 글
    • [Python] 기초 문법 - 클래스(2)
    • [Python] 기초 문법 - 클래스(1)
    • [Python] 기초 문법 - 함수
    • [Python] 기초 문법 - 연산자, 조건문, 반복문
    euny!
    euny!

    티스토리툴바