本文实例讲述了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文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
本文向大家介绍Nginx服务器实现数据静态压缩的方法,包括了Nginx服务器实现数据静态压缩的方法的使用技巧和注意事项,需要的朋友参考一下 nginx实现静态压缩这种做法其实就像apache gzip压缩了,这种压缩是我们常见的一些事情了,下面我来介绍一些做法。 在搭建squid网页加速的时候,对于大的css 或者js要进行压缩,然后再进行缓存,这样能够提高减小下载量提高页面响应速度。如果你用的是
本文向大家介绍Java实现的zip压缩及解压缩工具类示例,包括了Java实现的zip压缩及解压缩工具类示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现的zip压缩及解压缩工具类。分享给大家供大家参考,具体如下: 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《J
本文向大家介绍基于Node.js实现压缩和解压缩的方法,包括了基于Node.js实现压缩和解压缩的方法的使用技巧和注意事项,需要的朋友参考一下 压缩格式 zip 和 gzip 是两种我们最常见到的压缩格式,当然,gzip 在 Windows 下很少有人接触。 tar 是一种归档格式,它默认不会压缩,需要结合 gzip 来将最终的 tar 文件以 gzip 格式压缩成为一个 tar.gz 文件,通常
问题内容: 我正在使用以下代码来压缩和解压缩字符串数据,但是我面临的问题是,它很容易被压缩而不会出错,但是decompress方法会引发以下错误。 线程“主”中的异常java.io.IOException:不是GZIP格式 仍然不知道如何解决此问题!!! 问题答案: 这是因为 发送您可以从中获得的,并在其中使用它来构建您的。以下是需要在代码中进行的更改。
通常情况下,我们每个操作 Redis 的命令都以一个 TCP 请求发送给 Redis,这样的做法简单直观。然而,当我们有连续多个命令需要发送给 Redis 时,如果每个命令都以一个数据包发送给 Redis,将会降低服务端的并发能力。 为什么呢?大家知道每发送一个 TCP 报文,会存在网络延时及操作系统的处理延时。大部分情况下,网络延时要远大于 CPU 的处理延时。如果一个简单的命令就以一个 TCP
问题内容: 有人可以向我解释zlib库在Nodejs中如何工作吗? 我对Node.js很陌生,还不确定如何使用缓冲区和流。 我的简单情况是一个字符串变量,我想将字符串压缩或解压缩(压缩或膨胀,gzip或gunzip等)到另一个字符串。 即(我希望它如何工作) 感谢您的帮助:) 问题答案: 更新 :没意识到在节点0.5中有一个新的内置“ zlib”模块。我在下面的答案是针对第三方node- zlib