requests http請求庫(基礎)

2022-07-30 04:06:08 字數 4021 閱讀 9638

使用第三方庫:requests  

傳送 get 請求,無引數。(三種接受響應方式、text、二進位制、json)

import

requests

#requests 第三方庫

#安裝: pip install requests todo 檔名稱千萬不要和 requests 同名

url = '

'res = requests.get(url) #

沒有引數就不用傳遞引數

print('

列印出來的乙個物件:\n

', res) #

列印出來的乙個物件

#獲取狀態碼

print('

狀態碼:\n

', res.status_code)

#返回的資料 文字,用處:接受普通文字或者html

print('

返回的資料 文字:\n

', res.text)

#print('

返回二進位制 b開頭:\n

', res.content)

#接受響應資料, decode() 二進位制轉換成字串

print('

二進位制轉換成字串:\n

', res.content.decode())

#接受響應資料,js格式 如果伺服器返回的不是 json 格式的會報錯

#用處:當伺服器返回的標準json格式的,介面主要用 json 格式

print('

js格式:\n

', res.json())

傳送get請求,有引數,useragent 顯示的是python傳送的請求

傳送get請求,有引數,帶請求頭,**改為google  (get 只有一種傳遞方式,沒有請求頭)

url = '

'data =

#帶請求頭

傳送post請求,data

,form

表單形式。根

據需求選擇傳遞引數

url = '

'data = #

多個引數

#傳遞引數的三種方式:params, data, json

#post 把引數通過data方式

res = requests.post(url, params=data, data=data)

#響應格式

多個引數

#傳遞引數的三種方式:params, data, json

#post 把引數通過json

res = requests.post(url, params=data, json=data)

#響應格式

print(res.text)

獲取cookies,獲取需要首先登陸後獲取 (通過tes.cookies獲取所有的cookie)(post傳遞引數的三種方式,params、data、json,根據介面文件來傳遞)

res.cookies 獲取全部的cookie

#

data

url = '

login

'data =

#傳遞引數的三種方式:params,data,json

res = requests.post(url, params=data, data=data)

#res1 = requests.post(url, params=data, json=data)

print

(res.text)

#獲取所有的cookies,cookies 是乙個物件,裡面有很多的cookie

cookies =res.cookies

url1 = '

'res1 = requests.post(url1, cookies=cookies)

print(res1.text)

這裡使用的session管理cookie,也可以手動管理

url = '

'url_login = '

login'#

建立會話物件, 可以理解成乙個瀏覽器

session =requests.session()

#會話訪問 使用 session 管理 cookie

res = session.get(url_login) #

相當於先登入 後獲取

res1 =session.get(url)

print(res1.text)

總結1、傳遞引數的三種方式

第一種放到url形式  

params

第二種形式body表單形式   

data

第三種形式json

2、接收文字的幾種方式

返回的資料 文字形式 主要用來接收普通文字或者xtml格式

print(f'返回的資料 文字:\n')

print(f'二進位制:')

print(f'二進位制轉換字串:\n')

json 格式的響應 得到的 json 是字典格式的

如果伺服器返回的文字不是乙個 json 格式的,會報錯

當伺服器返回的是乙個標準的json格式的,介面主要用 json 格式

print(res.json())

三、 data 和 header 是字典型別

res = request.get(url, params=引數, header=請求頭需要作為關鍵字引數)

四、 requests.session() 會話機制,

作用:動態管理cookie,集中管理所有的資源,不需要我們手工進行設定

s = requests.session() 和 requests.get 和 s.get 是一樣的作用

ps使用requests請求的簡化版介面 

from flask import

flask, redirect, jsonify, make_response, response, request)'

/', methods=['

get', '

post'])

defindex():

ifnot request.cookies.get('

user'):

#驗證,session

return jsonify()

return jsonify()

#介面是乙個函式,類。

#不是所有函式都是介面,

'/login

', methods=['

get', '

post'])

deflogin():

resp = response('

login success')

resp.set_cookie(

'user

', '

user')

#儲存到服務端。

return

resp

請求庫之requests庫

安裝 pip install requests get,delete,post 本質都是呼叫request函式 ret requests.get print ret.status code 響應狀態碼 print ret.text 響應體,轉成了字串 print ret.content ret re...

請求庫 request使用

coding utf 8 import requests from urllib.parse import urlencode keyword input strip res urlencode encoding utf 8 url res print url response requests.g...

使用fake useragent庫偽裝請求頭

在編寫爬蟲進行網頁資料的時候,大多數情況下,需要在請求是增加請求頭,下面介紹乙個python下非常好用的偽裝請求頭的庫 fake useragent,具體使用說明如下 pip install fake useragent from fake useragent import useragent ua...