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脚本在Linux下实现部分Bash Shell的教程
Apr 17 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
Python中装饰器学习总结
Feb 10 Python
python入门教程 python入门神图一张
Mar 05 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
Python实现的建造者模式示例
Aug 06 Python
详解Django的CSRF认证实现
Oct 09 Python
详解python编译器和解释器的区别
Jun 24 Python
python单例模式的多种实现方法
Jul 26 Python
python使用writerows写csv文件产生多余空行的处理方法
Aug 01 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
通过代码实例了解Python3编程技巧
Oct 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无限极分类实现的两种解决方法
2013/04/28 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
JS简单实现表格排序功能示例
2016/12/20 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
Python中的魔法方法深入理解
2014/07/09 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
python求解数组中两个字符串的最小距离
2018/09/27 Python
python 多个参数不为空校验方法
2019/02/14 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
革命先烈的英雄事迹材料
2014/02/15 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
党员公开承诺书2015
2015/01/21 职场文书
党员发展大会主持词
2015/07/03 职场文书