python request中的content和text的區別
一直不清楚requestes的content和text方法的區別,只知道content返回的是二進位制資料,而text返回的是文字資料
先看看content的原始碼:
註釋可知content返回的是bytes型也就是二進位制的資料
在看看text的原始碼:
意思是requests.text是根據網頁的響應來猜測編碼,如果伺服器不指定的話,預設編碼是"ISO-8859-1"所以這是為什麼有些時候用 response.text 返回的是亂碼的原因。
可以用response.encoding看一下他猜測的編碼是啥。然後用response.encoding = 'utf-8'來設定編碼
例項如下:
1 import requests 2 response=requests.get('http://www.qq.com') 3 response.encoding 4 >>'GB2312'View Code
1 >>> response.encoding="UTF-8" 2 >>> response.encoding 3 'UTF-8'View Code
總結:
content用來返回二進位制資料,適用於儲存二進位制資料,例如影象,檔案等
text適用於顯示文字資料,編碼根據伺服器的響應來顯示,也可以自己設定
相關推薦
requests庫中content和text呼叫的區別
詳情請檢視:https://www.jianshu.com/p/0e0336b370f3 對requests獲取的原始資料,有兩種獲取形式,一個是r.content一個是r.text。 二者的區別在於content返回的是byte型資料,而text返回的是Unicode資料
python requests的content和text方法的區別
問題: 一直在想requests的content和text屬性的區別,從print 結果來看是沒有任何區別的 看下原始碼: @property def text
Python字典中items()和iteritems()區別
字典介紹: 一、字典概念 字典是Python語言中唯一的對映型別。 對映型別物件裡雜湊值(鍵,key)和指向的物件(值,value)是一對多的的關係,通常被認為是可變的雜湊表。 字典物件是可變的,它是
python request中的content和text的區別
一直不清楚requestes的content和text方法的區別,只知道content返回的是二進位制資料,而text返回的是文字資料 先看看content的原始碼: 註釋可知content返回的是bytes型也就是二進位制的資料 在看看text的原始碼: 意思是reques
python requests 詳細學習content 和text 的區別
之前使用requests 不求甚解,一直使用content輸出文字。閱讀文件後記錄如下: import requests r=requests.get('http://www.baidu.com') print r.content print r.text
Python中__repr__和__str__區別
close 提示 bsp pri urn 創建 pla 不同 並不是 1.先看區別 1 class Test(object): 2 def __init__(self, value=‘hello, world!‘): 3 self.data
Python中is和==的區別
int 要素 com 分別是 htm python get 參考資料 元組類型 Python中有很多運算符,今天我們就來講講is和==兩種運算符在應用上的本質區別是什麽。 在講is和==這兩種運算符區別之前,首先要知道Python中對象包含的三個基本要素,分別是:id(身份
【轉】python類中super()和__init__()的區別
【轉】python類中super()和__init__()的區別 單繼承時super()和__init__()實現的功能是類似的 class Base(object): def __init__(self): print 'Base create' class child
Python中is和==的區別(面試題)
面試的時候,當問到 is 和 == 的區別時,有很多同學對這個問題不是很清楚,有的人理解但是表述不清楚,接下來我們通過本文對這個做一個深刻的理解。 我們來看一個例子: 我們可以從上面看出,有的is和==相同,而有的不同呢?我們先看看官方文件裡面怎麼解釋這兩者之間的區別: 官方文件中說 is
python中 xpath中的//和/的區別
//表示文件裡的任何位置的節點/表示文件里根下的那些節點 例如: //a//b/@abc 指的是文件中所有a元素的屬性為abc的後代b元素(包括子代元素)(多級);//a/b/@abc 指的是文件中所有a元素的屬性為abc的子代b元素(一級);/a/b/@abc 指的是根節點b元素的屬性為abc的子代b元素(
Python中break和continue區別
break跳出整個迴圈,而continue跳出本次迴圈 continue語句用來告訴python跳過當前迴圈,進行下一個迴圈 break語句用來終止迴圈語句,即迴圈條件沒有False條件或者序列還沒被完全遞迴完,也會停止執行迴圈語句。 break和continue語
Python 中 For 和 While 區別
1.for迴圈是遍歷列表和元組,而while迴圈只要迴圈不滿足,則會結束迴圈 #for..in迴圈,遍歷列表和元組 list1 = [1,2,3,4,5] for i in list1: print(i) tuple1 = (1,2,3,4,5) for m in tuple1
Python 3 中字串和 bytes 的區別
來自猿人學Python教程的學習筆記。 https://www.yuanrenxue.com/ 在Python中字串和unicode真是傻傻分不清楚,在沒搞懂兩個區別時,你會發現程式報的錯怎麼改都是再報錯,讓你煩躁。 學習Python的時候,又重溫了這部分內容,寫了這個學習筆記。 &nbs
python中 is 和 == 的區別
Python中的物件包含三要素:id、type、value 其中:id用來唯一標識一個物件,type標識物件的型別,value是物件的值 is判斷的是a物件是否就是b物件,是通過id來判斷的 ==判斷的是a物件的值是否和b物件的值相等,是通過value來判斷的 https:/
Python 中classmethod和staticmethod區別
Though classmethod and staticmethod are quite similar, there's a slight difference in usage for both entities: classmethod must have a reference to a c
淺析HTTP中POST和GET區別並用Python模擬其響應和請求
最近在幾周在做手遊崩潰資訊收集和上傳,拿到崩潰資訊後,使用的是HTTP的POST方法上傳到公司共用的伺服器的,因此做簡單總結。本文首先簡單介紹了HTTP協議,主要說明了POST方法和GET方法的區別;然後用Python實現了 對POST方法和GET方法的響應;最後用
python列表中append和extend的區別
append和extend是list列表常見的兩種擴充方法,兩者看起來相似,但有很大區別,具體分析如下:list.append(object)向列表種新增一個物件list.extend(sequence)把一個序列的內容新增到列表中這樣說還是不太清楚,舉個例子就清楚了>
python基礎(8)python中is和==的區別詳解
# 前置知識點 當我們建立一個物件時,我們要知道它內部幹了些什麼 - 1.建立了一個隨機id,開闢了一片記憶體地址 - 2.自動聲明瞭這個物件的型別type - 3.給這個物件賦值value ## 小例子 ``` a = 1 print(id(1)) print(id(a)) print(ty
mybatis中的#和$的區別
背景 插入 trac sql註入 -m .com article 參數 -s 1. #將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麽解析成sql時的值為order by "111", 如果傳
hibernate中hql語句中list和iterate區別
每次 hibernate 寫入 所有 讀取 條件 iter 查詢 hql 1.使用list()方法獲取查詢結果,每次發出一條語句,獲取全部數據。2.使用iterate()方法獲取查詢結果,先發出一條SQL語句用來查詢滿足條件數據的id,然後依次按照這些id查詢記錄,也就是要