반응형
최근 소켓으로 통신할때 Response를 파싱하는 작업을 진행하다가
제대로 받아오지 못하고 깨진 문자열을 반환하는 문제점을 발견했다.
해결법은 간단하다. 받아온 값을 decompress 해주면 해결되더라.
(Request 보낼 때 Accept-Encoding 헤더를 지우면 되는경우도 있음)
import gzip
import StringIO
body = decompress할 값
decompress = StringIO.StringIO(body)
gzipper = gzip.GzipFile(fileobj=decompress)
temp = gzipper.read()
print temp
추가로 웹 크롤링 등의 작업을 할 때 gzip 등으로 compress 시켜주면 보다 빠른 속도로 진행이 가능하다고 한다.
(서버에서 해당 인코딩을 지원할 때)
'Coding > Python' 카테고리의 다른 글
BeautifulSoup 웹파싱 (0) | 2016.01.29 |
---|---|
Pytesser OCR (0) | 2016.01.27 |
Selenium 경로설정 (0) | 2016.01.08 |
DB Parser (0) | 2015.12.25 |
정렬 알고리즘 (0) | 2015.03.09 |