Python——requests模塊

requests模塊是python的一個第三方模塊,它是基於python自帶的urllib模塊封裝的,用來發送http請求和獲取返回的結果,操做很簡單。python

requests模塊是第三方模塊,不是python自帶的,須要安裝纔可使用。json

pip requests installsublime-text


發送get請求
一、不帶參數、 返回結果爲字符串類型:可使用res.json() 來轉成字典api

import requestscookie

url = ''www.baidu.com'
res = requests.get(url)
print(res.json())session

 

二、 帶參數的get請求post

url3 = 'http://118.24.3.40/api/user/stu_info'
param= {'stu_name':'小黑'}
res = requests.get(url3,params=param)
print(res.json())測試

三、入參須要傳入header網站

url6 = 'http://118.24.3.40/api/user/all_stu'
header = {'Referer':'http://api.nnzhp.cn/'}
res =requests.get(url6,headers=header)
print(res.json())url

post請求
一、入參是字典類型的
url2 = 'http://118.24.3.40/api/user/login'
data = {'username':'niuhanyang','passwd':'aA123456'}
res = requests.post(url2,data=data)
print(res.json())

二、入參是json類型的 注意:使用requests的post方式時候,要傳遞json的值


url4 = 'http://118.24.3.40/api/user/add_stu'
data = {"name":"maomaochongzi",
"grade":"1年級",
"phone":"15801427140",
"sex":"男",
"age":"18",
"addr":"beijing"
}
res = requests.post(url4,json=data)
print(res.json())

三、入參需傳遞cookie
url5 = 'http://118.24.3.40/api/user/gold_add'
data = {'stu_id':15,'gold':200}
cookie = {'niuhanyang':'35b103503b9f428f1e8a2e258cb2a172'}
res = requests.post(url5,data=data,cookies = cookie)
print(res.json())

四、上傳文件,入參爲文件類型

url9 = 'http://118.24.3.40/api/file/file_upload'
data = {'file':open('魔鬼天使.mp3','rb')}
res = requests.post(url9,files = data)
print(res.json())

 

五、下載文件  二進制類型

url9 = 'http://qiniuuwmp3.changba.com/1084511584.mp3'
res = requests.post(url9)

with open('天數惡魔.p3',wb) as frw

  fw.write(res.content)

六、若是url是https開頭的 ,須要加verify = False

url8='https://aliimg.changba.com/cache/photo/855e5493-f018-44db-8892-c8660649327b_640_640.jpg'
res = requests.get(url8,verify = False)
with open('a.jpg','wb') as fw:
fw.write(res.content)

res.json() 必須返回的是json才能夠用 返回的是字典
res.text 下載文件的話text就不行了 返回的是字符串
res.content 用來下載文件用的 返回的是二進制的
res.cookies 獲取到返回的全部cookie
res.headers 獲取到返回的全部herder

 

http權限認證

有一些網站,好比說下載東西的時候有http的權限驗證,沒有驗證話就返回401 請求未經受權這種錯誤的。通常都是須要http權限驗證,下面是怎麼添加http權限驗證。

固然這個http權限認證是http自己的,和你那些登錄請求那些不同,好比說你要調一個登錄接口,傳入的帳號密碼,和那個不是一回事,要區別開。

舉個例子呢就是商場的大門上的鎖就是這個http權限驗證,這個鎖是人家商場的,而你的店鋪的鎖纔是你登錄接口,你輸入的帳號密碼。通常你一打開一個網站直接彈出來一個窗口讓你輸入帳號密碼,你都看不到頁面,這種就是http權限驗證。而那種你打開網站以後,直接就能看到頁面,你要登陸的時候,輸入帳號密碼而後點登陸的,這種的就是正常的登錄請求。這種http權限驗證的比較少見。

http代理設置

咱們在寫爬蟲的時候,若是都用同一個ip訪問屢次訪問某個網站,常常ip會被封,這樣咱們就訪問不了了,那怎麼解決呢,就得用ip代理了,代理的意思就是我們把請求先發到代理上,而後再由代理幫我們把請求發送出去,這樣最終訪問網站的ip就不是我們本身的ip了。網上代理有不少,大多數收費的代理網站上天天都會有幾個免費的代理,我先從https://www.kuaidaili.com/free/inha/ 這個裏面找了幾個免費的代理,設置代理的代碼以下

相關文章
相關標籤/搜索