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
'ETC > Python' 카테고리의 다른 글
Python 문자열인지 숫자인지 확인 (0) | 2020.08.24 |
---|---|
PyQt QtextEdit textchanged event (0) | 2020.08.23 |
PyQt 비밀번호 입력창(별표 표시) 만들기 (0) | 2020.08.15 |
PyQt5 버튼 클릭 이벤트(PyQt button event python) (0) | 2020.08.15 |
Python PyQt QtDesigner 설치하기 & 사용법 (0) | 2020.08.13 |