requests基本介紹
為什么要學習requests,而不是urllib?
1.requests的底層實現(xiàn)就是urllib
2.requests在python2 和python3中通用,方法完全一樣
3.requests簡單易用
4.requests能夠自動幫助我們解壓(gzip壓縮等的)網(wǎng)頁內(nèi)容
requests的作用
發(fā)送網(wǎng)絡請求,獲取響應數(shù)據(jù)
中文文檔API:https://2.python-requests.org//zh_CN/latest/user/install.html
網(wǎng)址最好在Chrome瀏覽器打開,如果是英文,還可以右擊翻譯成中文
requests的安裝使用
發(fā)送請求
首先導入requests模塊,這是一個第三方模塊,需要安裝,pip install時需注意是Python2的pip還是Python3的pip,在終端通過pip --version查看版本,pip后面有一個空格。如果pip --version出來的結果是Python2.7,安裝時需要pip3 --安裝包,否則就是安裝在Python2的環(huán)境里,以后在pycharm中很可能有些模塊用不了。
安裝requests包時提示先升級pip,直接升級權限不夠,在終端中用sudo -s直接切換到管理員身份,再輸入命令pip install --upgrade pip即可成功升級pip,然后再pip install requests,ctrl+d退出管理員權限。
發(fā)送get請求
requests.get(“url地址”),方法可以獲取一個URL地址,獲取的內(nèi)容放在變量r中,r作為一個response對象。
r = requests.get(“url地址”)
發(fā)送post請求
r = requests.post(“url地址”)
請求的URL地址中必須有http協(xié)議,否則就會報錯
獲取URL的HTML
r = requests.get(“http://www.baidu.com”)
r此時是一個response對象
如何區(qū)分屬性和方法
根據(jù)詞性區(qū)分,名詞是屬性,后面沒有括號,動詞是方法,后面有括號
自己定義類時,類屬性、實例屬性都應該定義成名詞;定義方法時盡量用動詞。
r的text屬性,名詞,后面沒括號
在ipython3交互模式下,import requests后,r = requests.get(“http://www.baidu.com”),r.text,返回的結果里有亂碼,因為編碼方式和解碼方式不一致。
encoding屬性?無錫婦科醫(yī)院 http://www.bhnnk120.com/
r.encoding,根據(jù)HTML頭部推斷編碼方式,返回編碼方式,是requests模塊推測出來的。但是推測出來的一般是錯誤的
此時需要指定解碼方式,r.encoding = “utf-8”,然后再r.text即可返回沒有亂碼的內(nèi)容
content屬性
r.content 返回的內(nèi)容是一個b開頭的bytes類型數(shù)據(jù),需要轉換成字符串類型
r.content.decode(),此時返回的結果就是有中文的
decode()方法
默認使用utf-8的方法解碼,優(yōu)先使用
r.content.decode(),此時返回的結果就是有中文的
解碼方式優(yōu)先順序
r.content.decode() --默認用utf-8解碼
r.content.decode(“gbk”) --用gbk解碼
r.text --requests模塊猜的解碼方式
response.text和response.content的區(qū)別
requests保存網(wǎng)頁圖片到本地
pycharm中或者vim中
新建文件
vim 01-保存網(wǎng)頁圖片到本地
思路:
首先找到一個網(wǎng)頁圖片,右擊圖片,復制鏈接
發(fā)送請求
保存
#with open(“a.png”,“wb”) as f:里傳遞的參數(shù),第一個是文件名,第二個是打開參數(shù)wb,用二進制打開,w是字符串
1 import requests
2
3 # 發(fā)送請求
4 r = requests.get("https://2.python-requests.org/en/master/_static/requests-s idebar.png")
5 # 保存
6 with open("a.png","wb") as f:
7 f.write(r.content)
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)頁名稱:python中requests庫模塊安裝發(fā)送請求和獲取網(wǎng)頁的字符串-創(chuàng)新互聯(lián)
轉載注明:http://www.rwnh.cn/article30/dospso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、軟件開發(fā)、全網(wǎng)營銷推廣、建站公司、網(wǎng)站建設、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容