python 3 5 使用 BeautifulSoup 解析中文網頁的中文全是亂碼

時間 2021-06-02 23:33:23

1樓:李巨集杰

響應內容

我們能讀取伺服器響應的內容。再次以 GitHub 時間線為例:

.Requests 會自動解碼來自伺服器的內容。大多數 unicode 字符集都能被無縫地解碼。

請求發出後,Requests 會基於 HTTP 頭部對響應的編碼作出有根據的推測。當你訪問 r.text 之時,Requests 會使用其推測的文字編碼。

你可以找出 Requests 使用了什麼編碼,並且能夠使用r.encoding 屬性來改變它:

>>> r.encoding

'utf-8'

>>> r.encoding = 'ISO-8859-1'

如果你改變了編碼,每當你訪問 r.text ,Request 都將會使用 r.encoding 的新值。

你可能希望在使用特殊邏輯計算出文字的編碼的情況下來修改編碼。比如 HTTP 和 XML 自身可以指定編碼。這樣的話,你應該使用 r.

content 來找到編碼,然後設定 r.encoding 為相應的編碼。這樣就能使用正確的編碼解析 r.

text 了。

在你需要的情況下,Requests 也可以使用定製的編碼。如果你建立了自己的編碼,並使用 codecs模組進行註冊,你就可以輕鬆地使用這個解碼器名稱作為 r.encoding 的值, 然後由 Requests 來為你處理編碼。

以後答題直接複製文件,知乎越來越簡單了,文件鏈結http://

cn.python-requests.org/

zh_CN/latest/user/quickstart.html#id2

python指令碼使用?

黃哥 用下面這些工具打包成exe檔案 Package Target Latest version Latest update date Notes bbfreeze Python 2 2014 01 20 1.1.3 Create standalone executables from python...

全 Python 專案,使用 Protobuf Thrift適合嗎?

首先指正下protocolbuffer僅僅是乙個序列化和反序列化的協議,我覺得你可能想用grpc或者thrift來替換你們當前使用的xmlrpc。grpc是出自大廠谷歌,持續維護和開發中,基於protocolbuffer進行序列化和反序列化,效能高有各路人士進行過對比,目前已經有1.0版本,基於ht...

求教怎麼在win10,python 3 5,gt1050ti 弄好tensorflow gpu版本?

可以參考 TensorFlow 官方文件,講的很詳細。 51Testing軟體測試網 直接安裝 TensorFlow 就行,pip3 install tensorflow gpu,要用 GPU 加速的話,CUDA是Google的python模組,nvidia cuDNN要去 nvidia 開發者站去...