分析下request獲取的網頁中文亂碼問題
r = requests.get(“http://www.baidu.com“)**r.text回傳的是Unicode型的資料,
使用r.content回傳的是bytes型的資料,
也就是說,如果你想取文本,可以通過r.text,
如果想取圖片,檔案,則可以通過r.content,** 方法1:使用r.text Requests 會自動解碼來自服務器的內容,大多數 unicode 字符集都能被無縫地解碼,請求發出后,Requests 會基于 HTTP 頭部對回應的編碼作出有根據的推測,當你訪問 r.text 之時,Requests 會使用其推測的文本編碼,你可以找出 Requests 使用了什么編碼,并且能夠使用 r.encoding 屬性來改變它.
但是Requests庫的自身編碼為: r.encoding = ‘ISO-8859-1’
可以 r.encoding 修改編碼
url='http://music.baidu.com' r=requests.get(url) r.encoding='utf-8' print(r.text)方法2:使用r.content 使用r.content,得到的是bytes型,再轉為str
url='http://music.baidu.com'
r = requests.get(url)
html=r.content
html_doc=str(html,'utf-8') #html_doc=html.decode("utf-8","ignore")
print(html_doc)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/20972.html
標籤:Python
上一篇:0826一些python基礎練習
