在抓取Runoob网站的时候发现用python2的urllib读取的数据会存在乱码的情况,但是别的网页没有问题,在审查html的<head>之后发现其编码的确是UTF-8无误,所以怀疑可能是由于网络发包走的是gzip,需要经过解压之类的处理,解决代码如下
#python3
import requests
r=requests.get("http://www.runoob.com/mongodb/mongodb-tutorial.html")
print(r.encoding)
print(r.text)
#python2
import gzip
import StringIO
import urllib2
ur1='http://www.runoob.com/mongodb/mongodb-tutorial.html'
reponse=urllib2.urlopen(ur1)
r=reponse.read()
data = StringIO.StringIO(r)
gzipper = gzip.GzipFile(fileobj=data)
html = gzipper.read()
print html
网友评论