您好,登錄后才能下訂單哦!
小編給大家分享一下怎么用res函數(shù)解決python爬蟲的中文亂碼,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
我們知道Requests 會基于 HTTP 頭部對響應(yīng)的編碼作出有根據(jù)的推測。當(dāng)你訪問 r.text 之時,Requests 會使用其推測的文本編碼。你可以找出 Requests 使用了什么編碼,并且能夠使用r.encoding 屬性來改變它。接下來,我們一起通過resquests的一些用法,來看看Requests 會基于 HTTP 頭部對響應(yīng)的編碼方式。
print(res.encoding) #查看網(wǎng)頁返回的字符集類型 print(res.apparent_encoding) #自動判斷字符集類型
輸出結(jié)果為:
可以發(fā)現(xiàn)Requests 推測的文本編碼(也就是網(wǎng)頁返回即爬取下來后的編碼轉(zhuǎn)換)與源網(wǎng)頁編碼不一致,由此可知其正是導(dǎo)致亂碼原因。
解決方法
根據(jù)原因來找解決方法,就非常簡單了。
方法一:直接指定res.encoding
import requests url = "http://search.51job.com" res = requests.get(url) res.encoding = "gbk" html = res.text print(html)
方法二:通過res.apparent_encoding屬性指定
import requests url = "http://search.51job.com" res = requests.get(url) res.encoding = res.apparent_encoding html = res.text print(html)
看完了這篇文章,相信你對怎么用res函數(shù)解決python爬蟲的中文亂碼有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。