python爬蟲(chóng)抓下來(lái)的網(wǎng)頁(yè),中間的中文亂碼怎么解決?
時(shí)間:2024-01-10 07:54:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2024-01-10 07:54:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
python爬蟲(chóng)抓下來(lái)的網(wǎng)頁(yè),中間的中文亂碼怎么解決?:Python代碼里的中文
- 代碼第一行(如果有腳本標(biāo)記則是第二行)可以按照PEP8形式指定本代碼文件的編碼類型。若不指定則按照ascii(py2.x)或utf-8(py3)
你需要了解的內(nèi)容
- 清楚知道包含中文的文件是用的什么編碼
- 清楚知道自己輸出端(命令行?html?GUI?)用什么編碼
- 清楚知道編碼的基本知識(shí)
你需要的python相關(guān)內(nèi)容
以python2.7.x為例:
- print/file.write等實(shí)質(zhì)上只輸出str對(duì)象,如果輸出內(nèi)容不是str對(duì)象,則使用str函數(shù)進(jìn)行轉(zhuǎn)換
- str函數(shù)是個(gè)殼,實(shí)質(zhì)是調(diào)用對(duì)象方法__str__
- encode函數(shù)是將一個(gè)unicode類按照指定的編碼(如果不指定則使用defaultencoding)轉(zhuǎn)換為不帶編碼標(biāo)記的str類
- decode函數(shù)是將一個(gè)str類按照指定編碼(如果不指定則使用defaultencoding)轉(zhuǎn)換為使用utf-8編碼的unicode類
- 直接print一個(gè)容器(dict/list/tuple)的時(shí)候不會(huì)對(duì)其中的字符串進(jìn)行編碼,因此看到的非ascii字符集內(nèi)容將會(huì)以/xAA或者/uAAAA之類的形式輸出
Python3中,str行為與py2的unicode行為一致;bytes行為與py2的str行為一致。
關(guān)鍵詞:中文,解決,中間,爬蟲(chóng)