Tôi hiện sử dụng cơ giới hóa để đọc trang web đã giải nén như sau:Chuyển đổi gzip dữ liệu lấy bằng urllib2 sang HTML
br = mechanize.Browser()
br.set_handle_gzip(True)
response = br.open(url)
data = response.read()
Tôi tự hỏi làm thế nào để giải nén dữ liệu đã giải nén lấy bằng urllib2 cho văn bản HTML?
req = urllib2.Request(url)
opener = urllib2.build_opener()
response = opener.open(req)
data = response.read()
if response.info()['content-encoding'] == 'gzip':
HOW TO DECOMPRESS DATA TO HTML
Bạn cũng có thể chỉ cần thực hiện 'gzip.decompress (dữ liệu)'. –
Đây không phải là thực sự làm việc trong trường hợp này như được giải thích trong bài viết này: http://rationalpie.wordpress.com/2010/06/02/python-streaming-gzip-decompression/ vì vậy bạn phải sử dụng zlib thay vì gzip – gabuzo
@ Trên thực tế, bài viết liên quan đến giải nén _streaming_ gzip, điều này thực sự rất khác với chủ đề của câu hỏi này, vì điều này đặc biệt đề cập đến dữ liệu đã được tìm nạp, trong khi trong tình huống phát trực tuyến bạn muốn giải nén khi bạn nhận được nó. –