最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Python的requests中text中文亂碼的問題

 更新時間:2025年01月09日 09:53:52   作者:Dontes_cn  
學(xué)習(xí)Python爬蟲時遇到中文亂碼問題,發(fā)現(xiàn)req.text返回的是unicode,無法再次decode,通過查看網(wǎng)站源碼,發(fā)現(xiàn)網(wǎng)站使用的是gbk編碼,Requests會自動解碼來自服務(wù)器的內(nèi)容,但有時推測錯誤,通過設(shè)置r.encoding為gbk,然后對text進(jìn)行編碼,可以正確打印出中文

Python的requests中text中文亂碼

今天學(xué)習(xí)python爬蟲是遇到了字符編碼的問題

target = 'http://www.biqukan.com/1_1094/5403177.html'
req = requests.get(url=target)
print req.text

打印出來的中文都是亂碼,現(xiàn)在說一下解決方案。

解決方案

首先要明確的是,req.text返回的是unicode,也就是說無法再decode,所以網(wǎng)上那些先decode再encode的方法是沒法使用的,這種方法適用的是req.content。

通過查看網(wǎng)站源碼,發(fā)現(xiàn)網(wǎng)站使用的charset是gbk,Requests 會自動解碼來自服務(wù)器的內(nèi)容。

大多數(shù) unicode 字符集都能被無縫地解碼。

請求發(fā)出后,Requests 會基于 HTTP 頭部對響應(yīng)的編碼作出有根據(jù)的推測。

當(dāng)你訪問 r.text 之時,Requests 會使用其推測的文本編碼。

你可以找出 Requests 使用了什么編碼,并且能夠使用 r.encoding 屬性來改變它,我認(rèn)為requests對編碼做出了錯誤的判斷,所以進(jìn)行了下面的設(shè)置:

req.encoding='gbk'

注意,這里的gbk是因?yàn)榫W(wǎng)頁使用的是gbk。

然后再對text進(jìn)行編碼

text = req.text
print text.encode('utf-8')

就能正確的打印出中文了

完整的代碼

如下:

# coding: UTF-8
import requests

if __name__ == '__main__':
    target = 'http://www.biqukan.com/1_1094/5403177.html'
    req = requests.get(url=target)
    req.encoding='gbk'
    # content = req.content.decode('gbk').encode('utf-8')
    # print content
    text = req.text
    print(isinstance(text, unicode))
    print text.encode('utf-8')

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的進(jìn)程操作模塊(multiprocess.process)

    Python中的進(jìn)程操作模塊(multiprocess.process)

    這篇文章介紹了Python中的進(jìn)程操作模塊(multiprocess.process),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Python實(shí)現(xiàn)的各種常見分布算法示例

    Python實(shí)現(xiàn)的各種常見分布算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的各種常見分布算法,結(jié)合實(shí)例形式總結(jié)分析了Python常見的各種分布算法相關(guān)實(shí)現(xiàn)技巧,包括二項(xiàng)分布、離散分布、泊松分布、正態(tài)分布、指數(shù)分布等算法實(shí)現(xiàn)方法,需要的朋友可以參考下
    2018-12-12
  • 關(guān)于PyTorch中nn.Module類的簡介

    關(guān)于PyTorch中nn.Module類的簡介

    這篇文章主要介紹了關(guān)于PyTorch中nn.Module類的簡介,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python?包之?Pillow?圖像處理教程分享

    python?包之?Pillow?圖像處理教程分享

    這篇文章主要介紹了python?包之?Pillow?圖像處理教程分享,文章基于Python的相關(guān)資料展開主題相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • Pandas讀存JSON數(shù)據(jù)操作示例詳解

    Pandas讀存JSON數(shù)據(jù)操作示例詳解

    這篇文章主要為大家介紹了Pandas讀存JSON數(shù)據(jù)操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 簡單談?wù)凱ython中的幾種常見的數(shù)據(jù)類型

    簡單談?wù)凱ython中的幾種常見的數(shù)據(jù)類型

    Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對象的類型。
    2017-02-02
  • Python數(shù)據(jù)預(yù)處理常用的5個技巧

    Python數(shù)據(jù)預(yù)處理常用的5個技巧

    大家好,本篇文章主要講的是Python數(shù)據(jù)預(yù)處理常用的5個技巧,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python在Word文檔中插入圖片的三種方式

    Python在Word文檔中插入圖片的三種方式

    Word不僅僅是一個文字處理工具,它還為用戶提供了圖片插入功能,以增強(qiáng)文檔的表現(xiàn)力,一張好的圖片往往能夠起到畫龍點(diǎn)睛的作用,這篇博客將介紹使用Python在Word文檔中插入圖片的三種方式,需要的朋友可以參考下
    2025-02-02
  • Python?range函數(shù)生成一系列連續(xù)整數(shù)的內(nèi)部機(jī)制解析

    Python?range函數(shù)生成一系列連續(xù)整數(shù)的內(nèi)部機(jī)制解析

    這篇文章主要為大家介紹了Python?range函數(shù)生成一系列連續(xù)整數(shù)的內(nèi)部機(jī)制解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python pandas實(shí)現(xiàn)獲取指定日期所屬月的月初月末

    python pandas實(shí)現(xiàn)獲取指定日期所屬月的月初月末

    這篇文章主要為大家詳細(xì)介紹如何使用Python的Pandas庫進(jìn)行日期格式轉(zhuǎn)換,并演示了如何獲取月初、月末及跨月日期的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2025-12-12

最新評論

连平县| 绵竹市| 九龙坡区| 平湖市| 南安市| 马山县| 栖霞市| 邹平县| 太仆寺旗| 怀化市| 泰和县| 长垣县| 玉环县| 东港市| 中牟县| 福海县| 呼玛县| 获嘉县| 彭阳县| 九龙坡区| 沂水县| 同江市| 漳州市| 合江县| 山丹县| 桐城市| 如皋市| 塔河县| 定陶县| 南涧| 新田县| 仁布县| 德钦县| 竹山县| 淳安县| 澄城县| 钟祥市| 龙海市| 萨迦县| 虞城县| 吴忠市|