# 匯入 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...