python/웹크롤링

[Python] requests - text와 content의 차이

wjwkddyd221001 2023. 5. 28. 02:13

Code

import requests

url = ''
response = requests.get(url)

response.text
response.content

 

text

수신한 HTML 정보를 디코딩하여 화면에 표시

 

content

  • 수신한 HTML 정보를 바이트정보로 표시
  • ASCII(알파벳)은 1바이트이므로 그대로 출력되지만, 2바이트인 한글은 깨져서 보임
  • BeautifulSoup와 같이 사용하려면 다음과 같이 content를 사용해서 넘겨주기
from bs4 import BeautifulSoup

soup = BeautifulSoup(response.content, "html.parser")

 

  • 깨진 한글 디코딩하는 법
 # 디코딩하는 법
 a = '깨진 한글'
 print(a.decode("utf-8"))

 

참고자료

https://marisara.tistory.com/entry/파이썬-requests-2-text와-content