반응형

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를 진행하면 됩니다.

url encoding

 

반응형

+ Recent posts