python使用requests爬取網頁出現中文亂碼

在python中,若使用requests庫來抓取網頁,當遇到中文頁面時,容易出現亂碼問題。這是由於字符編碼問題引起的。

在requests中有提供相應的辦法,通過指定encoding,基本可以解決問題。

工具/原料

Python
requests庫

方法/步驟

演示代碼如下,在爬取中文網頁時,會發現返回結果中的中文為亂碼。

在瀏覽器中,在待爬取網頁上右鍵單擊,選擇「查看頁面原始碼」。可以在HEAD中看到頁面的編碼為『GBK』。

在代碼中添加一行,指定requests對象encoding值為『GBK』。

再次執行,可以發現返回的頁面文本中,中文已正常編碼顯示:

以上代碼在python3中測試。Py3.X源碼文件默認使用utf-8編碼,這與python2不同。Python2還要注意在代碼開始指定代碼的默認編碼。

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場