Python实现向服务器请求压缩数据及解压缩数据的方法示例

时间:2022-09-11 08:35:17

本文实例讲述了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程序设计有所帮助。