解決爬蟲中文亂碼問題

2022-09-03 17:33:11 字數 669 閱讀 9638

**自:

今天群裡有個人反映某個**爬出來的網頁源**出現中文亂碼,我研究了半天,終於找到了解決方法。

一開始,我是這樣做的:

import requests

url = ''

print requests.get(url).content

這樣做,如果用命令列去執行,得到的內容中文顯示正常,但如果用pycharm執行得到的確實亂碼。

這個問題我一時半會還不知道是為什麼,如果有人知道,請告訴我,謝謝!

後來,我在網上查閱資料,發現可以通過下面這種方式解決中文亂碼問題:

然後我們通過下面這段**發現通過requests獲取的編碼不是gbk,而是iso-8859-1。

import requests

url = ''

print requests.get(url).encoding

所以列印出來的就是亂碼,我們需要將編碼改為gbk才可以:

import requests

url = ''

r = requests.get(url)

r.encoding = 'gbk'

print r.text

這樣做,無論你是用pycharm還是命令列去執行,得到的都是正常的中文了

解決python爬蟲中文亂碼問題

首先網頁時可能採用不同編碼的,類似這個我爬取的網頁 當我直接使用.text函式列印時會出現如下亂碼 嘗試編碼結果 print strhtml.text.encode utf8 但發現明顯中文被變成了位元組 可以明顯的發現此處用於解碼的encoding是繼承自父類strhtml的,而沒有設定過的話父類...

python 爬蟲中文亂碼問題

在爬取 是遇到requests得到的respone為 先用import urllib import urllib.parse urllib.parse.unquote res.text 得到 然後我們直接把 replace一下 urllib.parse.unquote res.text replac...

python爬蟲中文亂碼問題

iso 8859 1 gb2312 gb2312 說明預設的解析 iso 8859 1 不正確,應該用gb2312解碼。2 gb2312解碼過程中提示 gb2312 codec can t decode byte 0xf3 in position 67376 錯誤,大概意思是說解碼沒錯,但在某個位置...