當前位置:首頁 » 編程語言 » python網頁亂碼

python網頁亂碼

發布時間: 2022-05-16 22:31:51

python爬蟲抓取到的數據用網頁打開時是亂碼,怎麼解決

有多種情況,一種是html壓縮了,網上查一下Gzip
第二種是你的編碼部隊,看html文件的head改一下就可以了

㈡ python,抓取的網頁為二進制亂碼,怎麼解決

看看你的請求頭Accept-Encoding是不是設置了gzip,deflate

這樣的話,返回的response是需要解壓縮的


#Content-Encoding:gzip
#Content-Encoding:deflate
if("Content-Encoding"inrespInfo):
if("gzip"==respInfo['Content-Encoding']):
respHtml=zlib.decompress(respHtml,16+zlib.MAX_WBITS);
elif("deflate"==respInfo['Content-Encoding']):
respHtml=zlib.decompress(respHtml,-zlib.MAX_WBITS);

㈢ 用python抓取的網頁保存後為什麼亂碼

從你給的代碼來是Python2。我下面給一個基於Python3的代碼,可以參考一下:

romurllib.requestimporturlopen;
fromurllib.parseimportquote;
rawtext=urlopen('http://www.ccnu.e.cn',timeout=15).read();
print(rawtext)
rawtext=rawtext.decode('gbk')
print(rawtext)
f=open('ccnu.txt','w',encoding='utf8');
f.write(rawtext)

大概的原理是,在Python3下面,抓取到的頁面默認是byte類型的(通過第4行輸出的結果就可以看出來),我們需要根據網頁的實際編碼進行處理。本例中給的網頁使用的是gb2312。所以,我要先以gbk的格式進行解碼(gbk包含了gb2312,能夠表示更多的漢語字元),解碼後實際上得到的就是unicode碼了,由於我的控制台編碼設置的是utf8,在列印時系統會自動將字元串從unicode轉為utf8,所以第6行控制台列印結果正常;第7行寫入文件時也要指定文件的編碼格式,我這里選擇的是utf8,當然用gbk也是一切正常的,因為這個編碼設置的是保存文件的編碼,而不是原來那個網頁內容的編碼了。字元串編碼和文件編碼不是一回事。打開ccnu.txt發現無亂碼。

Python2的代碼我不熟。

建議你也在代碼中添加print 看控制輸出是否正常。如果控制台輸出正常,則有可能是在保存頁面文件時,沒有正確指定內容字元串的encode格式。或者把所有gb2312換為gbk再試試。

反正Python2下面極容易出現漢字亂碼,如果能理解編碼encode和解碼decode的含義,了解Python2的字元串處理過程,就可以避免這些問題。

㈣ python爬蟲抓下來的網頁,中間的中文亂碼怎麼解決

對於python的中文編碼問題可以參考下面的帖子
http : //python .jobbole. com/85482/
對於網頁的中文亂碼,建立使用requests模塊代替urllib\urllib2
requests的content方法,對中文編碼,支持比較好,基本不會出現亂碼。
req=requests.get(url,cookies=mecookies)
print req.content
具體用法,參見下面兩個帖子,較詳細:
http :// blog.csdn . net/iloveyin/article/details/21444613
http : //blog .csdn . net/alpha5/article/details/24964009

㈤ PYTHON獲取網頁源碼亂碼,怎麼辦

text 是系統自行解碼,部分網頁會不對。

content指定解碼,你的網頁是utf-8的,對應解碼就可以了

㈥ python3爬蟲抓取網頁亂碼怎麼解決

Python寫程序原則是所有進來的字元串(讀文件,爬網頁),一進來就decode,處理完之後在要輸出的地方在encode。題主讀入(read)和輸出(print)在一行里,要在win下面想不出錯就這么寫 print response.decode('utf-8').encode('gbk')

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:581
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1013
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:114
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:713