Python에서 DeepL 변환기 사용 (1 부)

이 기사에서는 Part 1과 Part 2에서 DeepL Translate API를 사용하는 방법을 소개하고 문자열 변환과 파일 변환을 소개합니다.
* Python 및 Linux에 대한 기본 지식이 있다고 가정합니다.

원본 설명서도 참조하십시오.
https://www.deepl.com/en/docs-api

파이썬은 3.9를 사용하고 있습니다.
API 사양은 2022년 7월 현재 최신 버전입니다. 이 점에 유의하시기 바랍니다.
API를 사용하려면 사용자로 등록하고 액세스 키(auth_key)를 입력합니다
당신은 그것을 얻어야 합니다.

이 문서에서는 [authKey] 라고 하므로 액세스 키로 바꿉니다.
나중에 나타나는 문서 ID 및 문서 키 문자열도 [documentID] [documentKey] 로 표시됩니다.

태그가 지정된 문자열 번역

첫 번째 단계는 문자열을 번역하는 것입니다.
xml 태그(html 태그)가 있는 일본어를 영어(미국)로 번역합니다.

매뉴얼의 코드 예제는 HTTP 요청의 형식과 Linux에서 사용하는 방법을 보여줍니다
컬에는 표준 명령 도구인 두 가지 형태가 있습니다.
시도하기 쉬운 컬을 살펴 보겠습니다.

일본어 문자열 "예문: <br /><span style="font-size:1.2em" >안녕하세요, 세카이 </span>"
영어(미국)로:

$ src='예문:<br /><span style="font-size:1.2em">안녕하세요, world</span>'
$ auth_key=[인증 키]
$ 컬 https://api.deepl.com/v2/translate \
$ -d auth_key=${auth_key} \
$ -d 텍스트=${src} \
$ -d target_lang=ko-kr \
$ -d tag_handling=xml을

 

이 URL은 유료 버전용입니다. 무료 버전의 URL은 설명서를 참조하십시오.
xml 태그를 다루기 때문에 요청에 tag_handling도 지정합니다.
원본 언어를 지정하지 않지만 이 경우 자동으로 검색됩니다.
이 문서에서는 실행 결과를 생략합니다. 실제로 확인하면서 계속 읽어 보시기 바랍니다.
파이썬 requests.post 로 이것을 작성하면 ()를 사용하여 다음과 같은 결과를 얻을 수 있습니다.
(요청이 없으면 설치하십시오.)

import requests
import json

def get_key():
return open('key.txt').read().rstrip()

def translate_xml(src):
”’
XML 태그가 지정된 문자열 번역
Python에서 curl 명령 작성하기
”’
url = 'https://api.deepl.com/v2/translate'
헤더 = dict()
headers['Content-Type'] = 'application/x-www-form-urlencoded'
데이터 = dict()
데이터['auth_key'] = get_key()
데이터['텍스트'] = src
데이터['target_lang'] = 'en-us'
데이터['tag_handling'] = 'xml'

res = requests.post(url, headers=헤더, 데이터=데이터)
res_text = 해상도 텍스트
res_data = json.loads(res_text)
tgt = res_data['번역'][0]['텍스트']
리턴 TGT

src = '예문: <br /><span style="font-size:1.2em"> 안녕하세요, world</span>'
tgt = translate_xml(소스)
인쇄(tgt)

 

소스 코드에 액세스 키 문자열을 작성하지 마십시오.
텍스트 파일에 저장된 내용을 읽고 사용합니다 key.txt .
res_text는 DeepL의 서버에서 받은 결과이며, 이는 json 형식의 문자열입니다.
json.loads()를 사용하여 받아쓴 다음 번역 결과를 추출합니다.
이 문서의 목적 중 하나는 수동 curl 명령을
파이썬으로 표현하는 예제를 보여주는 것입니다.
둘을 비교하면 느낌을 얻을 수 있습니다.

이것이 이 기사의 전부입니다.

- DeepL의 API를 사용하여 문자열을 번역했습니다.
다음에는 DeepL의 API를 사용하여 문자열 파일을 번역할 것입니다.

읽어 주셔서 감사합니다.