파이썬 파파고 번역 결과 utf - 8 decode 후에 문자열로 반환
조회수 621회
import os
import sys
import urllib.request
text = "text sample."
encQuery = urllib.parse.quote(text)
data = "query=" + encQuery
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=data.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
a = response_body.decode('utf-8')
print(a)
else:
print("Error Code:" + rescode)
네이버 파파고 언어 자동인식 api 를 받아와서 쓰려고 합니다.
원하는 text 입력 후 번역된 문자를 a 로 print 하였는데요,
decode('utf-8') 로 디코드 한 후에 결과가 {"langCode":"en"} 로 뜹니다.
type 은 str 인데 슬라이싱도 안됩니다.
if a is '"langCode":"en"':
을 통해 'en' 일 경우 다른 코드를 짜고 싶은데 인식을 아에 하지 못하는것 같습니다..
뭐가 문제인 걸까요..?ㅠㅠ
감사합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
import json #... 중간생략 if(rescode==200): response_body = response.read() a = response_body.decode('utf-8') b = json.loads(a) if b['langCode'] == 'en': print ('RESULT : SUCCESS') #... 이하생략
RESULT : SUCCESS
Json 데이터를 딕셔너리로 바꿔서 해보세요.
- Json이라는 형식으로 또 쓰여 있었던 거군요.. ㅎㅎㅎ 감사합니다! 알 수 없는 사용자 2020.4.3 16:36
- 대게 API는 Json형태로 결과물 줘서요 그거 파싱하지 않으면 활용하기 좀 귀찮아져서요 김호원 2020.4.3 16:44
댓글 입력