這篇文章將為大家詳細(xì)講解有關(guān)python中requests模塊怎么用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
十余年的峽江網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整峽江建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“峽江網(wǎng)站設(shè)計(jì)”,“峽江網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
Requests模塊是一個(gè)用于網(wǎng)絡(luò)請(qǐng)求的模塊,主要用來(lái)模擬瀏覽器發(fā)請(qǐng)求。其實(shí)類似的模塊有很多,比如urllib,urllib2,httplib,httplib2,他們基本都提供相似的功能。但是這些模塊都復(fù)雜而且差不多過(guò)時(shí)了,requests模塊簡(jiǎn)單強(qiáng)大高效,使得其在眾多網(wǎng)絡(luò)請(qǐng)求模塊中脫引而出。
環(huán)境安裝:pip install requests
使用流程:
指定url
基于requests模塊發(fā)送請(qǐng)求
獲取響應(yīng)對(duì)象中的數(shù)據(jù)值
持久化存儲(chǔ)(不是必須的)
案例:爬取百度首頁(yè)的數(shù)據(jù)
#1. 導(dǎo)包 import requests #2. 指定url url = "https://www.baidu.com" #3. 使用GET方法發(fā)送請(qǐng)求,該方法會(huì)返回一個(gè)響應(yīng)對(duì)象 response = requests.get(url=url) #4. 獲取響應(yīng)數(shù)據(jù) print(response.status_code) # 打印狀態(tài)碼 print(response.url) # 打印請(qǐng)求url print(response.headers) # 打印響應(yīng)頭頭信息 print(response.text) #以文本形式打印網(wǎng)頁(yè)源碼 #保存數(shù)據(jù) response.encoding = 'utf-8' #指定編碼格式,不然打開(kāi)亂碼 text = response.text with open('./2.html','w',encoding='utf-8') as f: f.write(text)
解決requests請(qǐng)求的數(shù)據(jù)中文亂碼問(wèn)題——》requests請(qǐng)求返回內(nèi)容 中文亂碼問(wèn)題
上面的案例requests發(fā)送了一個(gè)GET請(qǐng)求方法,除此之外還有其他的請(qǐng)求方法。最常用的就是GET和POST方法。
res = requests.get ()
res = requests.post ()
res = requests.put ()
res = requests.delete ()
res = requests.head ()
res = requests.options ()
且在指定方法發(fā)送請(qǐng)求的時(shí)候,有時(shí)候還需要在請(qǐng)求方法括號(hào)中requests.get(url=url, xx = xx)指定一些參數(shù),如下。先了解一下
方法 | 參數(shù)名字 |
HTTP頭部 | headers |
GET參數(shù) | params |
POST參數(shù) | data |
文件 | files |
Cookies | cookies |
重定向處理 | allow_ redirects = False/True |
超時(shí) | timeout |
證書(shū)驗(yàn)證 | verify = False/True |
工作流(延遲下載) | stream=False/ True |
事件掛鉤 | hooks=dict(response=) |
身份驗(yàn)證 | auth= |
代理 | proxies= |
在上面爬取百度首頁(yè)時(shí),response = requests.get(url=url)其返回的是一個(gè)響應(yīng)對(duì)象,而如果我們想要獲取具體的數(shù)據(jù)比如響應(yīng)碼或者網(wǎng)頁(yè)源碼時(shí),就需要通過(guò)指定響應(yīng)對(duì)象的屬性進(jìn)行獲取。如response.status_code獲取響應(yīng)碼
獲取請(qǐng)求url res. url
狀態(tài)碼 res. status_code
響應(yīng)數(shù)據(jù)(以字符串形式) res . text
返回的是一個(gè)原生字符串,是bytes類型 res. content
查看服務(wù)器響應(yīng)頭 res. headers
查看cookie res.cookies
關(guān)于“python中requests模塊怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。