언어/Python
[Python] url 파일다운로드 에러 - UnicodeEncodeError: 'ascii' codec can't encode character
김태구
2021. 7. 21. 12:56
반응형
python을 통해 pdf파일을 다운받는 중 제목과 같은 에러가 발생하였습니다.
에러 발생코드
import urllib
from random import randint
# a는 pdf주소가 저장된 list / b는 pdf문서 이름이 저장된 list
for i, n in enumerate(tqdm_notebook(a)):
#random sleep
sleep(randint(1,10))
#주소를 통해 파일 다운로드
urllib.request.urlretrieve(n, "{}.pdf".format(b[i]))
발생이유
https://file.download.com?file=1440047203387.pdf&path=001&downFile=파일다운12해보자.pdf
위와 같은 url에서 파일다운12해보자 부분을 encoding할 수 없어 발생하는 에러입니다.
해결
urllib라이브러리 quote_plus를 이용하여 urlencoding를 진행하면 됩니다.

반응형