관리 메뉴

솜씨좋은장씨

[Python] url 형식으로 한글을 인코딩 하는 방법! ( Percent-Encoding ) 본문

Programming/Python

[Python] url 형식으로 한글을 인코딩 하는 방법! ( Percent-Encoding )

솜씨좋은장씨 2021. 12. 31. 17:55
728x90
반응형

크롤링 코드를 작성할 때 종종 한글을 url에 포함시켜야할 경우가 있습니다.

만약 내가 네이버 뉴스에서 토스에 대한 기사를 크롤링해온다고 한다고 할 때 

크롤링에 사용하기 위해 해당 뉴스 탭의 주소를 사용하기 위해서

https://search.naver.com/search.naver?where=news&sm=tab_jum&query=토스

브라우저 상에서 위와 같이 보이는 주소도 다른 곳에 복사해보면

https://search.naver.com/search.naver?where=news&sm=tab_jum&query=%ED%86%A0%EC%8A%A4

위와 같이 "토스" 이 한글이 %와 영어 숫자로 이루어진 값으로 바뀐 것을 볼 수 있습니다.

 

이는 url에서 활용하는 Percent-Encoding 방식입니다.

 

만약 내가 토스가 아닌 한글로 된 다른 값으로 크롤링을 하고 싶다하면 

해당 값도 Percent-Encoding을 하여 바꾸어 준 뒤에 활용하여야 합니다.

 

그럼! Python을 활용하여 어떻게 바꾸나! 다음과 같이 진행하시면 됩니다.

 

Python에서 Percent-Encoding을 하기 위해서는 urllib3 라이브러리가 필요합니다.

 

만약 해당 라이브러리를 설치하지 않았다면

$ pip install urllib3

위의 명령어를 활용하여 라이브러리를 설치해주어야합니다.

import urllib

keyword = "토스"
encoded_keyword = urllib.parse.quote(keyword)

그런 다음 urllib를 import 하고 urllib의 parse.quote를 활용하여 Percent-Encoding을 진행한 다음

인코딩이 완료된 키워드를 활용하면 됩니다.

 

읽어주셔서 감사합니다.

Comments