python中文亂碼問題 | 您所在的位置:網(wǎng)站首頁 › 屬猴的男性最佳婚配 › python中文亂碼問題 |
在爬取http://www.ttz5.com產(chǎn)品信息時,request返回的信息在print的時候出現(xiàn)了亂碼。 ['?\x80\x90è?\x85?\x80?1000g?\x80\x91?3\x93??\x80?·§?\x85\x8b?\x8a\x9b??\x82?±\x82?¤1??\x83è\x9b\x8b?3\x95'] ['è\x88\x9e?\x8a¨?\x90§??\x91?o¢??\x83??\x81125g*6?\x9dˉ?¤??\x9b\x92è£\x85'] ['?±±é\x87\x8eé\x87\x8c ??\x91?o¢è\x84±?°′é?\x84?§\x8bè\x91μ?12?°′?\x9e\x9c?12'] ['?\x80\x90?2§??\x8f?\x80\x91é\x85¥è\x84\x86?\x81°?\x9e£500g?\x8b???\x8b?\x8c\x85è£\x85'] ['?o\x94è′¤?\x96\x8b?\x89\x8b?\x92\x95?′\xa0è\x82\x89??\x91é\x972é\x9b?é£\x9f'] ['?\x80\x90?\x8b\x82è?£?\x80\x91100g?¥??21?\x913????3¢?\x82\x89?\x88\x86?±3è\x8a±'] ['?\x88±??′?°\x94?\x87¤?¢¨é\x85¥?\x9b\x92è£\x85?\x8a\x9e?\x85???¤??\x91é\x972é\x9b?é£\x9f'] ['?\x97\xad?¥\x87?1′è′§è\x91μè\x8a±?±??\x84|?3\x96?\x93\x9c?\xad\x90500g'] ['?\x80\x90è\x81a??\x88?\x82\x85?\x80\x91?\x86°?\x9a?éo?è\x96ˉ?¤1??\x83è\x9b\x8b?3\x95500g'] ['???100??\x8b?\x87\x8f40è\x94\x93è?\x8aè\x8e\x93?12?\x83\x98?\x84\x99?\x8e\x9f?\x96\x99'] ['?\x80\x90?\x9b\x8a?\x94\x9fé\x9a\x8f?\x80\x91?¤\x9a?\x8f£?\x913è±\x86è\x85\x90?122?\x96¤è£\x85'] ['è\x8a±?°\x8f?\x94\x9fè\x8a±?\x94\x9fé\x85¥?3\x96?\x89\x8b?·¥?\x95£è£\x85??\x89????\x891?o§??\x91é\x972é\x9b?é£\x9f']解決辦法: 1、可以在request語句后面插入print(r.encoding)檢查返回的數(shù)據(jù)格式是什么,如這個網(wǎng)站返回的數(shù)據(jù)就為:ISO-8859-1。搜索了一下相關(guān)的說明,發(fā)現(xiàn) requests 只會簡單地從服務(wù)器返回的響應(yīng)頭的 Content-Type 去獲取編碼,如果有 Charset 才能正確識別編碼,否則就使用默認的 ISO-8859-1。 requests 內(nèi)部的 utils 提供了一個從返回 body 獲取頁面編碼的函數(shù),get_encodings_from_content,這樣如果服務(wù)器返回的頭不含 Charset,再通過 get_encodings_from_content 就可以知道頁面的正確編碼了。 r = requests.get(link,headers=headers) print(r.encoding) #可以看到返回的編碼方式 r = r.text.encode('ISO-8859-1').decode(requests.utils.get_encodings_from_content(r.text)[0])得到的結(jié)果: (['【超值1000g】泓一巧克力涂層夾心蛋糕'], ['29.9'], ['39.9'], ['10']) (['舞動吧網(wǎng)紅布丁125g*6杯禮盒裝'], ['16.8'], ['36.8'], ['20']) (['山野里 網(wǎng)紅脫水黃秋葵干水果干'], ['13.8'], ['18.8'], ['5']) (['五賢齋手撕素肉休閑零食'], ['16.8'], ['19.8'], ['3']) (['【滄宏】酥脆灰棗500g獨立包裝'], ['19.8'], ['22.8'], ['3']) |
CopyRight 2018-2019 實驗室設(shè)備網(wǎng) 版權(quán)所有 |