0
当使用urlgrabber时,推荐处理Content-Encoding: gzip
文件的方法是什么?urlgrabber与gzip支持
现在,我的猴子打补丁这样的:
g = URLGrabber(http_headers=(("Accept-Encoding", "gzip"),))
g.is_compressed = False # I don't know yet if the server will send me compressed data
# Backup current method of handling downloaded headers
try:
PyCurlFileObject.orig_hdr_retrieve
except AttributeError:
PyCurlFileObject.orig_hdr_retrieve = PyCurlFileObject._hdr_retrieve
def hdr_retrieve(instance, buf):
r = PyCurlFileObject.orig_hdr_retrieve(instance, buf)
if "content-encoding" in buf.lower() and "zip" in buf.lower():
g.is_compressed = True
return r
PyCurlFileObject._hdr_retrieve = hdr_retrieve
g.urlgrab(url, dest)
if g.is_compressed:
# ungzip file here
但它看起来并不很干净,我担心它不是线程要么...