关闭

Python—HTTP处理Gzip压缩数据

标签: python
812人阅读 评论(0) 收藏 举报
分类:

Python—HTTP处理Gzip压缩数据

HTTP 请求中包含 Accept-encoding: gzip 头信息可以告诉服务器,如果它有任何新数据要发送给我时,请以压缩的格式发送。如果服务器支持压缩,它将返回由 gzip 压缩的数据并且使用 Content-encoding: gzip 头信息标记。

#codeing:utf-8
import urllib2
import StringIO
import gzip
url = 'http://baidu.com'
request = urllib2.Request(url)
request.add_header('Accept-encoding', 'gzip')
opener = urllib2.build_opener()
f = opener.open(request)
isGzip = f.headers.get('Content-Encoding')
if isGzip=='gzip' :
    compresseddata = f.read()
    compressedstream = StringIO.StringIO(compresseddata)
    gzipper = gzip.GzipFile(fileobj=compressedstream)
    data = gzipper.read()
else:
    data = f.read()

0
0
查看评论

Python gzip库函数使用方法及实例

解压gzip文件示例: import gzip f = gzip.open('file.txt.gz', 'rb') file_content = f.read() f.close() 创建gzip文件: import gzip content = "L...
  • Primeprime
  • Primeprime
  • 2016-07-26 15:02
  • 6542

利用python中的gzip模块压缩和解压数据流和文件

直接给出源码实现, 分为两种情况: 1.网络连接中的数据流的压缩和解压,或是打开的文件读取一部分 2.打开文件压缩或是解压 #!/usr/bin/env python #encoding: utf-8 #filename: gzip_demo.py #author: tao_627@aliyun.c...
  • tao_627
  • tao_627
  • 2015-07-01 17:37
  • 9472

python以gzip header请求html数据时,response内容乱码无法解码的解决方案

1. 问题背景在使用urllib2 module抓取web数据时,如果希望使用如何request header,减少传输时数据量。返回的数据,是经过gzip压缩的。直接按照 content.decode(“utf8”), 解码会出现异常,并且也无法检测网页数据的实际编码类型。2. 问题分析因为htt...
  • vieri_ch
  • vieri_ch
  • 2015-04-23 12:30
  • 9462

python http请求时gzip解压

#!/usr/bin/env python # encoding=utf-8 import urllib2, httplib import StringIO, gzip #解压gzip def gzdecode(data) : compressedstream = St...
  • wzq9706
  • wzq9706
  • 2014-05-06 13:52
  • 9776

python gzip http post请求结果解压

#!/usr/bin/env python # encoding=utf-8 import urllib2, httplib import StringIO, gzip #解压gzip def gzdecode(data) : compressedstream = St...
  • jenyzhang
  • jenyzhang
  • 2015-11-04 23:15
  • 1230

scrapy爬取某网站,模拟登陆过程中遇到的那些坑

最近接触scrapy,爬取了几个网站,用着还挺顺手的. 前几天,一个做业务的同事让我帮他爬取一个网站上的用户信息,我就满口承诺下来了.毕竟,通过前几次的爬取,已经自信心爆棚了(从此入坑). 拿到一个网站之后就是先分析网站,分析之后发现需要的数据要登陆才能看到.这个可难不倒我,不就是模拟...
  • amaomao123
  • amaomao123
  • 2016-09-12 11:13
  • 9218

抓取网页的gzip/deflate

现在的网页普遍支持gzip压缩,这往往可以解决大量传输时间,以豆瓣的主页为例,未压缩版本327K,压缩了以后61K,为原来的1/5。这就意味着抓取速度会快5倍。 然而python的urllib/urllib2默认都不支持压缩,要返回压缩格式,必须在request的header里面写明’acce...
  • djd1234567
  • djd1234567
  • 2015-12-14 14:16
  • 1748

Python Gzip压缩与解压模块

Python Gzip模块为GNU zip文件提供了一个类文件的接口,它使用zlib来压缩和解压缩数据文件,读写gzip文件。 首先,我们来看一下压缩与解压的代码: 一、使用gzip模块压缩文件 >>> import gzip #导入python gzip模块,提...
  • kingrouwang
  • kingrouwang
  • 2016-01-27 13:24
  • 715

Python3.X抓取网页html乱码问题

小问题鼓捣了一天,本来想写一个简单的客户端和服务器通信的程序,结果出现了各种问题。 问题1.版本问题 首先上网找了一段客户端代码,如下: import socket # 创建一个socket: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)...
  • yuzhi829
  • yuzhi829
  • 2015-05-22 08:45
  • 2471

Python3.x爬虫

转自:http://blog.csdn.net/evankaka/article/details/46849095#comments林炳文 摘要:本文将使用Python3.4爬网页、爬图片、自动登录。并对HTTP协议做了一个简单的介绍。在进行爬虫之前,先简单来进行一个HTTP协议的讲解,这样下面再...
  • Dr_Guo
  • Dr_Guo
  • 2016-03-19 01:54
  • 1251
    个人资料
    • 访问:138082次
    • 积分:1966
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:117篇
    • 译文:0篇
    • 评论:6条