python中requests庫(kù)模塊安裝發(fā)送請(qǐng)求和獲取網(wǎng)頁的字符串

requests基本介紹

10余年的內(nèi)黃網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整內(nèi)黃建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“內(nèi)黃網(wǎng)站設(shè)計(jì)”,“內(nèi)黃網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

為什么要學(xué)習(xí)requests,而不是urllib?

1.requests的底層實(shí)現(xiàn)就是urllib

2.requests在python2 和python3中通用,方法完全一樣

3.requests簡(jiǎn)單易用

4.requests能夠自動(dòng)幫助我們解壓(gzip壓縮等的)網(wǎng)頁內(nèi)容

requests的作用

發(fā)送網(wǎng)絡(luò)請(qǐng)求,獲取響應(yīng)數(shù)據(jù)

中文文檔API:https://2.python-requests.org//zh_CN/latest/user/install.html

網(wǎng)址最好在Chrome瀏覽器打開,如果是英文,還可以右擊翻譯成中文

requests的安裝使用

發(fā)送請(qǐng)求

首先導(dǎo)入requests模塊,這是一個(gè)第三方模塊,需要安裝,pip install時(shí)需注意是Python2的pip還是Python3的pip,在終端通過pip --version查看版本,pip后面有一個(gè)空格。如果pip --version出來的結(jié)果是Python2.7,安裝時(shí)需要pip3 --安裝包,否則就是安裝在Python2的環(huán)境里,以后在pycharm中很可能有些模塊用不了。

安裝requests包時(shí)提示先升級(jí)pip,直接升級(jí)權(quán)限不夠,在終端中用sudo -s直接切換到管理員身份,再輸入命令pip install --upgrade pip即可成功升級(jí)pip,然后再pip install requests,ctrl+d退出管理員權(quán)限。

發(fā)送get請(qǐng)求

requests.get(“url地址”),方法可以獲取一個(gè)URL地址,獲取的內(nèi)容放在變量r中,r作為一個(gè)response對(duì)象。

r = requests.get(“url地址”)

發(fā)送post請(qǐng)求

r = requests.post(“url地址”)

請(qǐng)求的URL地址中必須有http協(xié)議,否則就會(huì)報(bào)錯(cuò)

獲取URL的HTML

r = requests.get(“http://www.baidu.com”)

r此時(shí)是一個(gè)response對(duì)象

如何區(qū)分屬性和方法

根據(jù)詞性區(qū)分,名詞是屬性,后面沒有括號(hào),動(dòng)詞是方法,后面有括號(hào)

自己定義類時(shí),類屬性、實(shí)例屬性都應(yīng)該定義成名詞;定義方法時(shí)盡量用動(dòng)詞。

r的text屬性,名詞,后面沒括號(hào)

在ipython3交互模式下,import requests后,r = requests.get(“http://www.baidu.com”),r.text,返回的結(jié)果里有亂碼,因?yàn)榫幋a方式和解碼方式不一致。

encoding屬性?無錫婦科醫(yī)院 http://www.bhnnk120.com/

r.encoding,根據(jù)HTML頭部推斷編碼方式,返回編碼方式,是requests模塊推測(cè)出來的。但是推測(cè)出來的一般是錯(cuò)誤的

此時(shí)需要指定解碼方式,r.encoding = “utf-8”,然后再r.text即可返回沒有亂碼的內(nèi)容

content屬性

r.content 返回的內(nèi)容是一個(gè)b開頭的bytes類型數(shù)據(jù),需要轉(zhuǎn)換成字符串類型

r.content.decode(),此時(shí)返回的結(jié)果就是有中文的

decode()方法

默認(rèn)使用utf-8的方法解碼,優(yōu)先使用

r.content.decode(),此時(shí)返回的結(jié)果就是有中文的

解碼方式優(yōu)先順序

r.content.decode() --默認(rèn)用utf-8解碼

r.content.decode(“gbk”) --用gbk解碼

r.text --requests模塊猜的解碼方式

response.text和response.content的區(qū)別

requests保存網(wǎng)頁圖片到本地

pycharm中或者vim中

新建文件

vim 01-保存網(wǎng)頁圖片到本地

思路:

首先找到一個(gè)網(wǎng)頁圖片,右擊圖片,復(fù)制鏈接

發(fā)送請(qǐng)求

保存

#with open(“a.png”,“wb”) as f:里傳遞的參數(shù),第一個(gè)是文件名,第二個(gè)是打開參數(shù)wb,用二進(jìn)制打開,w是字符串

1 import requests

2

3 # 發(fā)送請(qǐng)求

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)

網(wǎng)頁題目:python中requests庫(kù)模塊安裝發(fā)送請(qǐng)求和獲取網(wǎng)頁的字符串
標(biāo)題鏈接:http://muchs.cn/article4/gpghoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、虛擬主機(jī)云服務(wù)器、企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化