各位用户为了找寻关于Python实现向服务器请求压缩数据及解压缩数据的方法示例的资料费劲了很多周折。这里教程网为您整理了关于Python实现向服务器请求压缩数据及解压缩数据的方法示例的相关资料,仅供查阅,以下为您介绍关于Python实现向服务器请求压缩数据及解压缩数据的方法示例的详细内容
本文实例讲述了Python实现向服务器请求压缩数据及解压缩数据的方法。分享给大家供大家参考,具体如下:
向服务器请求压缩数据格式,并解压缩数据
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23#!/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)
运行结果:
? 1 2 3 4 5 6 7 8[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程序设计有所帮助。