본문 바로가기
ETC/Python

Python URLEncoding code

by Guardy 2020. 8. 16.
728x90

Python에서 URLEncoding은 urllib의 parse를 사용하면 된다.

먼저 import 시켜준다.

from urllib import parse

 그 다음 parse의 quote를 이용하면 된다. 주의할 점은 url전체를 quote하면 안된다.

url = 'https://kin.naver.com/search/noAnswerList.nhn?query=담배'
print(parse.quote(url))

다음과 같이 url전체를 parse.quote한 경우는 다음과 같이 나온다.

https%3A//kin.naver.com/search/noAnswerList.nhn%3Fquery%3D%EB%8B%B4%EB%B0%B0

: 나 / 혹은 ? 와 같은 문자들도 encoding해버린다.

따라서 한글만 parse.quote 해주어야 한다. 다음과 같이 코드를 작성해보자.

url ='https://kin.naver.com/search/noAnswerList.nhn?query='+ parse.quote("담배")
print(url)

결과는 다음과 같이 나온다.

https://kin.naver.com/search/noAnswerList.nhn?query=%EB%8B%B4%EB%B0%B0

url을 복사하여 브라우저에 입력한 결과 다음과 같이 정상적으로 encoding된 것을 확인할 수 있다.

반대로 urlencoding된 데이터를 decode하는 방법은 다음과 같다.

parse.unquote('%EB%8B%B4%EB%B0%B0') 

 

728x90