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标准库defaultdict模块使用示例
Apr 28 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
python原类、类的创建过程与方法详解
Jul 19 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
jupyter notebook实现显示行号
Apr 13 Python
Python-jenkins模块之folder相关操作介绍
May 12 Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 Python
Pycharm安装第三方库失败解决方案
Nov 17 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Apr 04 Python
使用Python获取字典键对应值的方法
Apr 26 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的一些小问题
2010/07/03 PHP
php中文验证码实现示例分享
2014/01/12 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
JObj预览一个JS的框架
2008/03/13 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python退火算法在高次方程的应用
2018/07/26 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
python中时间模块的基本使用教程
2019/05/14 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
毕业自荐书
2013/12/09 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
药剂专业求职信
2014/06/20 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书