Python----Requests库基本使用
一.導(dǎo)入操作
import requests
二.請(qǐng)求url
1.無(wú)參數(shù)的GET請(qǐng)求
r = request.get("www.baidu.com")
2.有參數(shù)的GET請(qǐng)求 # 以params為參數(shù) # 傳遞的必須是字典格式
payload = {'name1':'kobe','name2':'hohaod'} r = requests.get("www.baidu.com",params=payload) print (r,url)
3.發(fā)送POST請(qǐng)求 # 以data為參數(shù) # 傳遞的必須是字典格式
r = requests.post("www.baidu.com",data = {'name':'hohaod'})
import json # 發(fā)送json格式數(shù)據(jù) payload = {"name":"hohaod"} r = requests.post("www.baidu.com",json=payload)
url = 'www.baidu.com' # 發(fā)送文件 # files參數(shù) files = {'file':open('report.xls','rb')} r = requests.post(url,files = files) print(r.text)
4.另外請(qǐng)求有4種方式(HTTP協(xié)議中的4種method)
r = requests.get("www.baidu.com/put") r = requests.delete("www.baidu.com/delete") r = head("www.baidu.com/get") r = options("www.baidu.com/get")
三.獲取返回信息
5.獲取返回信息并轉(zhuǎn)換為各種格式
r = requests.get("www.baidu.com") r = requests.get("www.baidu.com",stream = True) print(r.raw.read()) #獲取原始數(shù)據(jù) print(r.text) # 獲取響應(yīng)結(jié)果 # 返回的是字符串 print(r.content) # 與r.text的差別就是r.content返回的是字節(jié)流(爬圖片時(shí)可用到) print(r.json) #如果請(qǐng)求對(duì)應(yīng)的響應(yīng)是一個(gè)json 可用此方法直接拿到j(luò)son格式的數(shù)據(jù) print(r.encoding) # 獲取內(nèi)容編碼 r.encoding = 'utl-8' # 修改編碼方式 print(r.json()) # 將內(nèi)容轉(zhuǎn)換為JSON對(duì)象
四.關(guān)于headers(包括請(qǐng)求頭和響應(yīng)頭)
6.獲取響應(yīng)頭(響應(yīng)頭是字典)
r = requests.get('www.baidu.com/get') print(r.status_code) print(r.headers) #是一個(gè)字典 print(r.headers['Content-Type']) print(r.headers.get('content-type'))
7.獲取請(qǐng)求頭
r.requests.headers
8.定制請(qǐng)求頭 # 其實(shí)也就是給url傳參數(shù)
url = 'www.baidu.com' headers = {'User_Agent':'my_computer'} r = requests.get(url,headers = headers)
五.響應(yīng)狀態(tài)碼
r = requests.get("www.baidu.com/get") print(r.status_code) print(r.status_code==requests.codes.ok) bad_r = requests.get('www.baidu.com/status/404') print(bad_r.status_code)
六.關(guān)于請(qǐng)求時(shí)間
requests.get('www.baidu.com',timeout)
總結(jié)
以上是生活随笔為你收集整理的Python----Requests库基本使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用IST重新加入节点(5.7.20)
- 下一篇: +智能”时代,华为如何将AI赋能到各行各