python中response.text 和response.content的區(qū)別詳解
- 類型:str
- 解碼類型: 根據(jù)HTTP 頭部對(duì)響應(yīng)的編碼作出有根據(jù)的推測(cè),推測(cè)的文本編碼
- 如何修改編碼方式:response.encoding=”gbk”
2. response.content- 類型:bytes
- 解碼類型: 沒有指定
- 如何修改編碼方式:response.content.deocde(“utf-8”)
3.獲取網(wǎng)頁(yè)源碼的通用方式:response.content.decode()response.content.decode(“GBK”)
解碼方式可以根據(jù)響應(yīng)頭中找到Content-Type:text/html;charset=utf-8或者網(wǎng)頁(yè)源碼中content='text/html;charset=utf-8’’來(lái)決定.
response.text
以上三種方法從前往后嘗試,能夠100%的解決所有網(wǎng)頁(yè)解碼的問(wèn)題
所以:更推薦使用**response.content.deocde()**的方式獲取響應(yīng)的html頁(yè)面
補(bǔ)充:python3中requests 常用response
看代碼吧~import requestsres = requests.get('http://127.0.0.1:9092')print(res.status_code) # 200print(res.url) # http://127.0.0.1:9092/print(res.headers) # {’Content-Type’: ’application/json; charset=utf-8’, ’Content-Length’: ’10’, ’Date’: ’Sat, 22 Dec 2018 13:36:16 GMT’, ’Connection’: ’keep-alive’}print(res.cookies) # <RequestsCookieJar[<Cookie cid=hello world for 127.0.0.1/>]>print(res.text) # 8248154254print(res.content) # b’8248154254’ 寫圖片print(res.cookies[’cid’]) # hello world# 爬取 圖片r1 = requests.get(’https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1545496551516&di=8ed19596bc72aa87299ed7f234830128&imgtype=0&src=http%3A%2F%2Fimg5.duitang.com%2Fuploads%2Fitem%2F201107%2F31%2F20110731155631_htMcs.jpg’)b = r1.contentwith open(’hao.jpg’,’wb’) as f: f.write(b)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XML 增、刪、改和查示例2. SXNA RSS Blog 聚合器程序3. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享4. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器5. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式6. JSP的Cookie在登錄中的使用7. ASP常用日期格式化函數(shù) FormatDate()8. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫(kù)的方法9. webpack高級(jí)配置與優(yōu)化詳解10. PHP設(shè)計(jì)模式中工廠模式深入詳解
