新聞中心
本篇文章給大家?guī)砹岁P(guān)于python的相關(guān)知識(shí),其中主要介紹了requests模塊的相關(guān)問題,Requests模塊是一個(gè)用于網(wǎng)絡(luò)請(qǐng)求的模塊,主要用來模擬瀏覽器發(fā)請(qǐng)求,希望對(duì)大家有幫助。

推薦學(xué)習(xí):python學(xué)習(xí)教程
Requests模塊是一個(gè)用于網(wǎng)絡(luò)請(qǐng)求的模塊,主要用來模擬瀏覽器發(fā)請(qǐng)求。其實(shí)類似的模塊有很多,比如urllib,urllib2,httplib,httplib2,他們基本都提供相似的功能。但是這些模塊都復(fù)雜而且差不多過時(shí)了,requests模塊簡單強(qiáng)大高效,使得其在眾多網(wǎng)絡(luò)請(qǐng)求模塊中脫引而出。
環(huán)境安裝:pip install requests
使用流程:
- 指定url
- 基于requests模塊發(fā)送請(qǐng)求
- 獲取響應(yīng)對(duì)象中的數(shù)據(jù)值
- 持久化存儲(chǔ)(不是必須的)
案例:爬取百度首頁的數(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)頁源碼
#保存數(shù)據(jù)
response.encoding = 'utf-8' #指定編碼格式,不然打開亂碼
text = response.text
with open('./2.html','w',encoding='utf-8') as f:
f.write(text)
解決requests請(qǐng)求的數(shù)據(jù)中文亂碼問題——》requests請(qǐng)求返回內(nèi)容 中文亂碼問題
requests請(qǐng)求方法
上面的案例requests發(fā)送了一個(gè)GET請(qǐng)求方法,除此之外還有其他的請(qǐng)求方法。最常用的就是GET和POST方法。
且在指定方法發(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 |
|
證書驗(yàn)證 |
verify = False/True |
|
工作流(延遲下載) |
stream=False/ True |
|
事件掛鉤 |
hooks=dict(response=) |
|
身份驗(yàn)證 |
auth= |
|
代理 |
proxies= |
requests響應(yīng)對(duì)象屬性
在上面爬取百度首頁時(shí),response = requests.get(url=url)其返回的是一個(gè)響應(yīng)對(duì)象,而如果我們想要獲取具體的數(shù)據(jù)比如響應(yīng)碼或者網(wǎng)頁源碼時(shí),就需要通過指定響應(yīng)對(duì)象的屬性進(jìn)行獲取。如response.status_code獲取響應(yīng)碼
文章標(biāo)題:實(shí)例詳解python之requests模塊
文章地址:http://m.5511xx.com/article/dhdjpgo.html


咨詢
建站咨詢
