"""
此实例用来演示如何解决
UnicodeDecodeError: 'gbk' codec can't decode byte 0x8b in position 1: illegal multibyte sequence
因使用gzip压缩过的网站无法直接读取的问题。
"""
from urllib.request import urlretrieve
import gzip
url='http://www.qq.com' #读取被gzip压缩后的网站。这里用www.qq.com举例
retval=urlretrieve(url)
fd=gzip.open(retval[0]) #gzip解压文件
contents=fd.read() #读取内容
fd.close()
outputfd=open('url.txt','wb') #把解压后的数据写入新文件
outputfd.write(contents)
outputfd.close()
#重新读取文件内容
newfd=open('url.txt')
for eachline in newfd:
print(eachline,end='')
input()
from urllib.request import urlretrieve
import gzip
url='http://www.qq.com' #读取被gzip压缩后的网站。这里用www.qq.com举例
retval=urlretrieve(url)
fd=gzip.open(retval[0]) #gzip解压文件
contents=fd.read() #读取内容
fd.close()
outputfd=open('url.txt','wb') #把解压后的数据写入新文件
outputfd.write(contents)
outputfd.close()
#重新读取文件内容
newfd=open('url.txt')
for eachline in newfd:
print(eachline,end='')
input()
newfd.close()