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 相关文章推荐
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
Python实现将16进制字符串转化为ascii字符的方法分析
Jul 21 Python
详解python中的 is 操作符
Dec 26 Python
Python 找到列表中满足某些条件的元素方法
Jun 26 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
python异常处理之try finally不报错的原因
May 18 Python
使用Python项目生成所有依赖包的清单方式
Jul 13 Python
Python如何执行系统命令
Sep 23 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
python利用while求100内的整数和方式
Nov 07 Python
Python+Selenium实现读取网易邮箱验证码
Mar 13 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实现模拟http请求的方法分析
2017/12/20 PHP
javaScript同意等待代码实现心得
2011/01/01 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
python del()函数用法
2013/03/24 Python
Python中装饰器的一个妙用
2015/02/08 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
浅析Python __name__ 是什么
2020/07/07 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
五种Python转义表示法
2020/11/27 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
网站客服岗位职责
2014/04/05 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
森林防火标语
2014/06/23 职场文书
人大代表选举标语
2014/10/07 职场文书
大学生见习报告总结
2014/11/04 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
走近毛泽东观后感
2015/06/04 职场文书