Python3之Requests模組詳解

2021-09-22 09:16:28 字數 4222 閱讀 8702

# 匯入 request模組

# python版本python3

import requests

import json

######

######

######

#####get請求###

######

######

######

### 傳送無引數的get請求

# 傳送無引數的get請求 設定超時時間 timeout 單位秒

# 檢視傳送請求的url位址

print('無引數的get請求位址為: ' + baidu_response.url)

# 檢視當前返回狀態碼

# 若狀態碼為200 等同於 baidu_response.status_code == requests.codes.ok 返回為true

print('返回的狀態碼為: '+str(baidu_response.status_code))

# 檢視當前返回內容編碼

print('返回內容編碼格式為:' + baidu_response.encoding)

# 檢視當前返回內容 text返回的是字串

print('text返回的資料內容為:' + baidu_response.text)

# 檢視當前返回內容 content返回的是位元組流

# print('content返回的資料內容為:' + baidu_response.content)

# 若返回內容為json格式 可用如下語句

# print('返回的json資料為:' + baidu_response.json())

# 獲取伺服器返回的原始資料 增加stream=true

# data = requests.get('', stream=true)

# print(data.raw.read())

# 傳送帶引數(字典形式)的get請求

# 檢視傳送請求的url位址

print('普通引數的get請求位址為: ' + baidu_dictparams_response.url)

# 傳送list格式引數的get請求

# 檢視傳送請求的url位址

print('帶list引數的get請求位址為: ' + baidu_listparams_response.url)

######

######

######

#####post請求###

######

######

######

### tips:強烈建議使用二進位制模式開啟檔案,因為如果以文字檔案格式開啟時,可能會因為「content-length」這個header而出錯

# post 請求引數是通過data方式來傳遞的

# 第一種方式:字典格式

postresponse = requests.post("", data=)

print('普通引數請求返回狀態碼為:' + str(postresponse.status_code))

# 第二種方式 json格式 注意json方法為dumps() 不是dump()

jsonparams =

postjsonresponse = requests.post("", data=json.dumps(jsonparams))

print('json引數請求返回狀態碼為:' + str(postjsonresponse.status_code))

# 第三種方式 傳送檔案 (該檔案同級目錄下需要有test.csv檔案 )rb 唯讀模式 wb 若沒有 自動建立

files =

fileresponse = requests.post('', files=files)

print('檔案引數請求返回狀態碼為:' + str(fileresponse.status_code))

######

######

######

#####headers###

######

######

######

##headers_response = requests.get('')

# 檢視請求響應頭 :字典格式 輸入時轉換為字元列印到控制台

print('請求響應頭為: ' + str(headers_response.headers))

# 獲取請求響應頭其中某乙個引數

print('請求響應頭的server引數 寫法一:' + headers_response.headers['server'])

# 等同於

print('請求響應頭的server引數 寫法二:' + headers_response.headers.get('server'))

# 自定義headers 並傳送

headers =

custom_headers_response = requests.get('', headers=headers)

print('自定義header傳送請求狀態碼為:' + str(custom_headers_response.status_code))

######

######

######

#####cookies###

######

######

######

##cookies_response = requests.get('')

# 檢視請求響應頭 :字典格式 輸入時轉換為字元

print('請求位址的cookies為: ' + str(cookies_response.cookies))

# 自定義cookies 並傳送

cookies =

custom_cookies_response = requests.get('', cookies=cookies)

print('自定義cookies傳送請求狀態碼為:' + str(custom_cookies_response.status_code))

######

######

######

#####**###

######

######

######

##proxies =

# 通過**方式發起請求 此處執行不通過,僅舉例使用

# requests.get("", proxies=proxies)

######

######

######

#####session###

######

######

######

### 通過requests獲取session

session = requests.session()

# 舉例:登入名 密碼  key為登陸表單中對應的input的name值

login_data =

# 傳送資料

session.post("", login_data)

# 獲取傳送的session

session_response = session.get('')

print('session請求返回的狀態碼為:' + str(session_response.status_code))

html.close()

執行結果

參考:www.pythontab.com/html/2017/pythonjichu_0510/1138.html

python3爬蟲初探(二)之requests

關於請求網頁,不得不提requests這個庫,這是爬蟲經常用到的乙個第三方庫,用pip安裝即可。requests用法很多,這裡只寫一些基礎的,其他高階功能可參考官方文件。import requests url 這裡用get方法用來請求網頁,其他還有post等方法來請求網頁 data requests...

python3語言 Python3學習之語言基礎3

三 判斷 迴圈語句,函式,命名空間,作用域 1 python3 條件控制 python中if語句的一般形式如下所示 python 中用 elif 代替了 else if,所以if語句的關鍵字為 if elif else。注意 1 每個條件後面要使用冒號 表示接下來是滿足條件後要執行的語句塊。2 使用...

python3語言 Python3學習之語言基礎1

一 python3入門,資料型別,字串 python 中的變數不需要宣告。每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立。usr bin python3 counter 10 整型變數 miles 3.14 浮點型變數 name bob 字串 print counter print mil...