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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
python实现网站的模拟登录
Jan 04 Python
python安装模块如何通过setup.py安装(超简单)
May 05 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
Feb 28 Python
详解【python】str与json类型转换
Apr 29 Python
python腾讯语音合成实现过程解析
Aug 01 Python
使用OpCode绕过Python沙箱的方法详解
Sep 03 Python
python getpass模块用法及实例详解
Oct 07 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
Python如何输出百分比
Jul 31 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
Php Mssql操作简单封装支持存储过程
2009/12/11 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
在Django的通用视图中处理Context的方法
2015/07/21 Python
python去除扩展名的实例讲解
2018/04/23 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
Python requests设置代理的方法步骤
2020/02/23 Python
python关于倒排列的知识点总结
2020/10/13 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
行政助理的岗位职责
2014/02/18 职场文书
天网工程实施方案
2014/03/26 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
2015年领班工作总结
2015/04/29 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
js 数组 fill() 填充方法
2021/11/02 Javascript