requests 기본 사용법
파이썬 requests 패키지로 웹 페이지의 HTML 소스를 가져올 때, 기본적으로 .text
속성을 사용하면 HTML 소스가 문자열로 반환됩니다. 이때, requests는 응답의 헤더에서 인코딩 정보를 자동으로 감지해 해당 인코딩으로 디코딩합니다.
import requests
url = "https://www.wikipedia.org/"
response = requests.get(url)
html = response.text # 자동 인코딩 감지 및 디코딩
print(html)
UTF-8로 강제 인코딩 지정
간혹 서버가 인코딩 정보를 잘못 제공하거나, 한글 등 특수문자가 깨지는 경우가 있습니다. 이럴 때는 .encoding
속성을 직접 'utf-8'로 지정해줄 수 있습니다.
import requests
url = "http://lovflag.tistory.com"
response = requests.get(url)
response.encoding = 'utf-8' # 인코딩 강제 지정
html = response.text
print(html)
.encoding
속성으로 현재 인코딩 방식을 확인할 수 있습니다..encoding = 'utf-8'
로 지정하면, 이후.text
는 UTF-8로 디코딩된 문자열을 반환합니다.
맺는말
기본적으로 .text
는 서버가 지정한 문자셋을 감지하여 자동으로 디코딩됩니다. 한글 등 문자 깨짐이 있을 땐 .encoding = 'utf-8'
로 직접 지정 후 .text
를 이용하면 됩니다.
이와 같은 방법으로 requests 패키지를 활용해 HTML 소스를 안정적으로 UTF-8로 처리할 수 있습니다.
728x90
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[python] asyncio로 비동기 코루틴으로 두 개중 하나가 종료되면, 나머지도 종료하기 (0) | 2025.06.24 |
---|---|
[python] weekday를 각 OS 언어별 문자열로 변환하는 방법 (0) | 2025.06.20 |
ctypes.addressof() 함수를 이용하여 bytes 객체를 만드는 방법 (0) | 2025.06.12 |
[python] pytest에서 "ModuleNotFoundError: No module named 'apt_pkg'" 오류 발생 문제 (0) | 2025.06.07 |
[python] 쉘의 파이프 "|"를 subprocess.Popne()으로 처리하는 방법 (0) | 2025.04.14 |