반응형
나는 사용하고있다
data=urllib2.urlopen(url).read()
나는 알고 싶다:
URL의 데이터가 gzip으로 압축되었는지 어떻게 알 수 있습니까?
urllib2는 데이터가 gzip으로 압축되면 자동으로 압축을 풉니까? 데이터는 항상 문자열입니까?
해결 방법
- URL의 데이터가 gzip으로 압축되었는지 어떻게 알 수 있나요?
콘텐츠가 gzip으로 압축되었는지 확인하고 압축을 풉니 다.
from StringIO import StringIO
import gzip
request = urllib2.Request('http://example.com/')
request.add_header('Accept-encoding', 'gzip')
response = urllib2.urlopen(request)
if response.info().get('Content-Encoding') == 'gzip':
buf = StringIO(response.read())
f = gzip.GzipFile(fileobj=buf)
data = f.read()
- urllib2는 데이터가 gzip으로 압축 된 경우 자동으로 압축을 해제합니까? 데이터는 항상 문자열입니까?
아니요. 'Accept-Encoding'헤더가 urllib2에 의해 설정되지 않고 다음을 사용하기 때문에 urllib2는 데이터의 압축을 자동으로 풀지 않습니다. request.add_header ( 'Accept-Encoding', 'gzip, deflate') < / 코드>
참조 페이지 https://stackoverflow.com/questions/3947120
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python 3, gzip 파일에서 압축 된 json 객체 읽기 / 쓰기 (0) | 2020.10.30 |
---|---|
파이썬 dtype ( 'O')에서 dtype ( 'float64')으로 배열 데이터를 캐스트 할 수 없습니다. (0) | 2020.10.30 |
파이썬 Python if 문 : False 대 0.0 (0) | 2020.10.30 |
파이썬 Matplotlib - How to plot a high resolution graph? (0) | 2020.10.29 |
파이썬 Pandas group-by and sum (0) | 2020.10.29 |
댓글