1. 程式人生 > >python網絡編程----requests模塊

python網絡編程----requests模塊

brush 基礎 gpo sched head get r.js 第一個 agent

python訪問網站可以用標準模塊--urllib模塊(這裏省略),和requests(安裝-pip install requests)模塊,requests模塊是在urllib的基礎上進行的封裝,比urllib模塊功能更強到,易用

import json,requests
#發送get請求
url = ‘http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑馬‘
req = requests.get(url) #發送get請求
print(req.text) #獲取結果,返回string/html等用text
print(req.json()) #獲取結果直接就是字典,等價於  print(json.loads(req.text)) #json串轉化成字典,註:返回的必須是json串,才能用.json方法。

#發送post請求
url = ‘http://api.nnzhp.cn/api/user/login‘
data =  {‘username‘:‘niuhanyang‘,‘passwd‘:‘aA123456‘}
req = requests.post(url,data) #發送post請求,第一個參數是url,第二個參數是請求參數
print(req.json())

#入參是json的
url = ‘http://api.nnzhp.cn/api/user/add_stu‘
data =  {‘name‘:‘丁飛‘,‘grade‘:‘巨蟹座‘,‘phone‘:31971891223}
req = requests.post(url,json=data) #發送post請求,第一個參數是url,第二個參數是請求參數
print(req.json())

#添加cookie
url = ‘http://api.nnzhp.cn/api/user/gold_add‘
data =  {‘stu_id‘:231,‘gold‘:1000}
cookie = {‘niuhanyang‘:‘6d195100b95a43046d2e385835c6e2c2‘}
req = requests.post(url,data,cookies=cookie)
print(req.json())

#添加header
url=‘http://api.nnzhp.cn/api/user/all_stu‘
h = {‘Referer‘:‘http://api.nnzhp.cn/‘,‘User-Agent‘:‘Chore‘}#可以添加多個header,用,分開
res = requests.get(url,headers=h)
print(res.json())

#上傳文件
url = ‘http://api.nnzhp.cn/api/file/file_upload‘
f = open(r‘C:\Users\bjniuhanyang\Desktop\ad.cpm.schedulingInfo.v1.json‘,‘rb‘)
r = requests.post(url,files={‘file‘:f})
print(r.json())

#下載文件
url= ‘http://www.besttest.cn/data/upload/201710/f_36b1c59ecf3b8ff5b0acaf2ea42bafe0.jpg‘
r  = requests.get(url)
print(r.status_code)  #獲取請求的狀態碼
print(r.content)  #獲取返回結果--二進制格式的
fw = open(r‘bt.jpg‘,‘wb‘)
fw.write(r.content)
fw.close()

#保存網頁
url = ‘http://www.nnzhp.cn/archives/630‘
r = requests.get(url)
f = open(‘nnzhp.html‘,‘wb‘)
f.write(r.content)
f.close()

  

python網絡編程----requests模塊