
來源:Python爬蟲與數(shù)據(jù)挖掘
作者: Python進(jìn)階者
今天給大家祭出網(wǎng)絡(luò)爬蟲過程中三種中文亂碼的處理方案,希望對大家的學(xué)習(xí)有所幫助。
前幾天有個粉絲在Python交流群里問了一道關(guān)于使用Python網(wǎng)絡(luò)爬蟲過程中中文亂碼的問題,如下圖所示。
看上去確實(shí)頭大,對于爬蟲初學(xué)者來說,這個亂碼擺在自己面前,猶如攔路虎一般難頂。不過別慌,小編在這里給大家整理了三種方法,專門用于針對中文亂碼的,希望大家在后面再次遇到中文亂碼的問題,在此處可以得到靈感!
其實(shí)解決問題的關(guān)鍵點(diǎn)就是在于一點(diǎn),就是將亂碼的部分進(jìn)行處理,而處理的方案主要可以從兩個方面進(jìn)行出發(fā)。其一是針對整體網(wǎng)頁進(jìn)行提前編碼,其二是針對局部具體中文亂碼的部分進(jìn)行編碼處理。這里例舉3種方法,肯定還有其他的方法的,也歡迎大家在評論區(qū)諫言。
其實(shí)關(guān)于中文亂碼的表現(xiàn)形式有很多,但是常見的兩種如下:
1、當(dāng)出現(xiàn)網(wǎng)頁編碼為gbk,獲取到的內(nèi)容在控制臺打印類似如下情況的時候:
?à?? μ???×à ?ü?ì ?ú·? ?é°? D?????4k±ú??
2、當(dāng)出現(xiàn)網(wǎng)頁編碼為gbk,獲取到的內(nèi)容在控制臺打印類似如下情況的時候:
????? ??? ? С? Ψ??
雖然看上去控制臺輸出正常,沒有報錯:
Process finished with exit code 0
但是輸出的中文內(nèi)容,卻不是普通人能看得懂的。
這種情況下的話,就可以通過使用本文給出的三種方法進(jìn)行解決,屢試不爽!
1)方法一:將requests.get().text改為requests.get().content
我們可以看到通過text()方法獲取到的源碼,之后進(jìn)行打印輸出的話,確實(shí)是會存在亂碼的,如下圖所示。
此時可以考慮將請求變?yōu)?content,得到的內(nèi)容就是正常的了。
2)方法二:手動指定網(wǎng)頁編碼
# 手動設(shè)定響應(yīng)數(shù)據(jù)的編碼格式 response.encoding = response.apparent_encoding
這個方法稍微復(fù)雜一些,但是比較好理解,對于初學(xué)者來說,還是比較好接受的。
如果覺得上面的方法很難記住,或者你可以嘗試直接指定gbk編碼也可以進(jìn)行處理,如下圖所示:
上面介紹的兩種方法都是針對網(wǎng)頁進(jìn)行整體編碼,效果顯著,接下來的第三種方法就是針對中文局部亂碼部分使用通用編碼方法進(jìn)行處理。
3)方法三:使用通用的編碼方法
img_name.encode('iso-8859-1').decode('gbk')
使用通用的編碼方法,對中文出現(xiàn)亂碼的地方進(jìn)行編碼設(shè)定即可。還是當(dāng)前的這個例子,針對img_name進(jìn)行編碼設(shè)定,指定編碼并進(jìn)行解碼,如下圖所示。
如此一來,中文亂碼的問題就迎刃而解了。
我是Python進(jìn)階者。本文基于粉絲提問,針對Python網(wǎng)絡(luò)爬蟲過程中的中文亂碼問題,給出了3種亂碼解決方法,順利幫助粉絲解決了問題。雖然文中例舉了3種方法,但是小編相信肯定還有其他的方法的,也歡迎大家在評論區(qū)諫言。
小伙伴們,快快用實(shí)踐一下吧!
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03