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