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


Posted in Python onJune 09, 2017

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

Python 相关文章推荐
在Python的Flask框架下收发电子邮件的教程
Apr 21 Python
Python里disconnect UDP套接字的方法
Apr 23 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
Python MySQLdb Linux下安装笔记
May 09 Python
python 返回列表中某个值的索引方法
Nov 07 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
python global关键字的用法详解
Sep 05 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
python3排序的实例方法
Oct 20 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Python采集股票数据并制作可视化柱状图
Apr 04 Python
python爬虫框架talonspider简单介绍
Jun 09 #Python
python实现list元素按关键字相加减的方法示例
Jun 09 #Python
Python利用QQ邮箱发送邮件的实现方法(分享)
Jun 09 #Python
老生常谈python的私有公有属性(必看篇)
Jun 09 #Python
Python 自动化表单提交实例代码
Jun 08 #Python
Python错误: SyntaxError: Non-ASCII character解决办法
Jun 08 #Python
Python实现网站注册验证码生成类
Jun 08 #Python
You might like
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
orm获取关联表里的属性值
2016/04/17 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
js资料prototype 属性
2007/03/13 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
Express.JS使用详解
2014/07/17 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
带你认识Django
2019/01/15 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python有几个版本
2020/06/17 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
英语专业学子个人的自我评价
2013/10/02 职场文书
高三学习决心书
2014/03/11 职场文书
给校长的建议书600字
2014/05/15 职场文书
经管应届生求职信范文
2014/05/18 职场文书
幼儿学前班评语
2014/12/29 职场文书
助学金感谢信
2015/01/20 职场文书
单位计划生育责任书
2015/05/09 职场文书
幽默导游词开场白
2015/05/29 职场文书
初中军训感言
2015/08/01 职场文书
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL