728x90
AttributeError: module 'urllib' has no attribute 'parse'
혹은
AttributeError: module 'urllib' has no attribute 'request'
위와 같은 에러가 발생했을 때에는 import 문을 아래와 같이 바꿔주면 된다.
import urllib
import urllib.parse # 추가된 부분
import urllib.request # 추가된 부분
import json
def mt(sentence, client_id, client_secret):
koText = urllib.parse.quote(sentence)
data = "source=ko&target=en&text=" + koText
url = "https://openapi.naver.com/v1/papago/mt"
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()
json_result = json.loads(response_body.decode('utf-8'))
enText = json_result["message"]["result"]["translatedText"]
return enText
else:
print("Error Code:" + rescode)
papago api를 사용 시 제시되는 예시 코드이다.
위 코드를 실행했을 때 AttributeError가 발생했고, 직접 urllib.parse, urllib.request 를 추가했더니 에러가 해결되었다.
728x90
'TIL저장소' 카테고리의 다른 글
[Python] 정규식 sub 사용법 (0) | 2022.08.20 |
---|---|
[Streamlit] image download button에 data 넣기 (0) | 2022.06.08 |
[프로그래머스/파이썬] 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천 (0) | 2022.05.28 |
[프로그래머스/파이썬] 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 (0) | 2022.05.28 |
[백준/파이썬] 2559번 수열 (0) | 2022.05.17 |