관리 메뉴

Life goes slowly...

[Python] 파이썬 requests 라이브러리 사용시 한글깨짐 본문

카테고리 없음

[Python] 파이썬 requests 라이브러리 사용시 한글깨짐

빨강소 2021. 2. 18. 08:09
728x90
반응형

 

 

requests 패키지 사용 시 한글 깨짐

파이썬(Python)의 HTTP requests 라이브러리를 사용하여 웹사이트에 있는 WEB Scraping(웹 스크래핑) 시 데이터의 한글이 깨지는 경우가 있습니다. requests 라이브러리를 사용하여 결과 데이터를 Response 객체에 담아서 인코딩을 하는데 인코딩 속성을 확인하고 나서 인코딩 속성을 변경하여야만 한글 깨짐을 해결할 수 있습니다.

 

import requests

//www.naver.com 의 인코딩 출력하기
getData2 = requests.get('http://www.naver.com')
print(getData1.encoding)

//finance.naver.com 의 인코딩 출력하기
getData2 = requests.get('http://finance.naver.com')
print(getData2.encoding)


==============================
'UTF-8'

'ISO-8859-1'

 

위와 같이 각 페이지의 인코딩을 확인할 수 있습니다.

각 페이지의 인코딩 형태가 유니코드 인코딩이거나 한글 인코딩 인경우에는 한글이 깨지지 않지만 웹 페이지의 인코딩 형태가 영문 인코딩이라면 데이터 객체가 한글이 깨지는 것을 확인할 수 있습니다.

 

UTF-8, EUC-KR : 한글이 깨지지 않음

ISO-8859-1 : 영문 인코딩(한글 깨짐)

 

이러한 경우에는 Response 객체를 한글 인코딩으로 지정한 뒤에 데이터를 받게 되면 한글이 깨지지 않을 수 있습니다.

 

import requests

getData2 = requests.get('http://finance.naver.com')
getData2.raise_for_status()

getData2.encoding='EUC-KR'

html = getData2.text
print(html)

 

 

728x90
반응형
Comments