본문 바로가기
Python

Python - URL, WebContent Encode / Decode 하기

by 올엠 2024. 2. 29.
반응형

HTTP 호출을 진행하면, URL을 인코딩하거나 디코딩하는 일을 자주 경험하게 된다.

이때 주의할 점음 문자열을 encode/decode 를 Byte 레벨로하는 것이 아닌 문자열 수준으로 진행해주어야 한다.

즉 전체 문자열이 아닌 일부 UTF-8 로 작성된 문자열만 변환해주면 된다.

이를 효과적으로 해주는 라이브러리가 urllib 의 parse의 quoteunquote 를 통해 진행할 수 있다.

urllib.parse — URL을 구성 요소로 구문 분석 — Python 3.12.2 문서

 

urllib.parse — Parse URLs into components

Source code: Lib/urllib/parse.py This module defines a standard interface to break Uniform Resource Locator (URL) strings up in components (addressing scheme, network location, path etc.), to combi...

docs.python.org

 

필자의 예제 코드로 살펴보면 다음과 같이 진행해볼 수 있다.

from urllib import parse

# URL 인코딩
url = "https://www.google.com/search?q=파이썬 urllib parse 예제"
encoded_url = parse.quote(url)
print(encoded_url)

# URL 디코딩
decoded_url = parse.unquote(encoded_url)
print(decoded_url)
반응형