本文实例讲述了Python实现向服务器请求压缩数据及解压缩数据的方法。分享给大家供大家参
本文实例讲述了Python实现向服务器请求压缩数据及解压缩数据的方法。分享给大家供大家参考,具体如下:
向服务器请求压缩数据格式,并解压缩数据
#!/usr/bin/env python
# encoding=utf-8
import urllib2, httplib
def writeFile(fname, data):
f = open(fname, "w")
f.write(data)
f.close()
if __name__ == '__main__':
httplib.HTTPConnection.debuglevel = 1
request = urllib2.Request('http://www.163.com/')
request.add_header('Accept-encoding', 'gzip') # 向服务器请求压缩数据
opener = urllib2.build_opener()
f = opener.open(request)
data = f.read() # 读取页面返回的数据
f.close()
print "压缩的数据长度为:%d" %len(data)
writeFile("a.html", data)
import StringIO, gzip
compressedstream = StringIO.StringIO(data)
gziper = gzip.GzipFile(fileobj=compressedstream)
data2 = gziper.read() # 读取解压缩后数据
print "解压缩后数据长度为:%d" %len(data2)
writeFile("aa.html", data2)
运行结果:
[zcm@python #25]$./del.py
压缩的数据长度为:100457
解压缩后数据长度为:358659
[zcm@python #26]$wc *.html
4556 16010 358659 aa.html
374 2197 100457 a.html
4930 18207 459116 总用量
[zcm@python #27]$
Python
服务器
请求
压缩
解压缩
数据