Python利用urllib2抓取網頁返回亂碼的問題

不少亂碼問題是編碼形成的,通常對於中文網站基本是UTF-8,GB2312,能夠GB18030通吃。html

另外一個形成亂碼的緣由是壓縮格式,不少規模較大的網站都是以gzip的壓縮格式輸出頁面的,因此在用BS解析以前須要先判斷該網頁是否通過壓縮,若是通過壓縮則先進行解壓操做。網站

import urllib2
import gzip
import StringIO

url = 'http://guomeidiyicheng.soufun.com/xiangqing/'
data = urllib2.urlopen(url).read()
data = StringIO.StringIO(data)
gzipper = gzip.GzipFile(fileobj=data)
html = gzipper.read()
print html
相關文章
相關標籤/搜索