requests模組高階使用

2022-07-20 12:21:13 字數 2177 閱讀 6986

編輯本隨筆

cookie作用:伺服器使用cookie來記錄客戶端的狀態資訊

實現流程:

執行登陸操作(獲取cookie)

在發起個人主頁請求時,需要將cookie攜帶到該請求中

注意:session物件,也可以傳送請求,如果伺服器端會給客戶端返回cookie,session物件自動將cookie進行儲存

import

requests

#建立session物件

session =requests.session()

#建立headlers

headers=

#指定login對應url

login_url = "

"#封裝登陸相關資料

data =

#使用session發起登陸請求,將cookie獲取且儲存到session當中

login_response=session.post(url=login_url,data=data,headers=headers)

#使用session對個人主頁發起請求,獲取響應頁面資料

home_url="

"response=session.get(url=home_url,headers=headers)

page_text=response.text

with open(

"./doubanhomepage.html

",'w

',encoding="

utf-8

") as fp:

fp.write(page_text)

什麼要使用**:

反爬操作。

反反爬手段

分類:正向**:**客戶端獲取資料(爬蟲使用正向**)

反向**:代替服務端提供資料

免費**ip提供商:

www.goubanjia.com

快**西祠**

import

requests

url = '

'#將**ip封裝到乙個字典中

proxy=

#構建headers

headers=

#在請求之前更換網路ip

response=requests.get(url=url,headers=headers,proxies=proxy)

#資料持久化

page_text=response.text

with open(

"./**.html

",'w

',encoding='

utf-8

') as fp:

fp.write(page_text)

requests模組在發起https請求時需要載入ssl證書,否則會報requests.exceptions.sslerror: httpsconnectionpool(host='www.baidu.com', port=443): max retries exceeded with url: / (caused by sslerror(sslerror(1, '[ssl: certificate_verify_failed] certificate verify failed (_ssl.c:852)'),))錯誤,

參考官方文件

由於我需要fiddler來**requests請求,所以requests模組需要載入fiddler的根證書,但fiddler匯出的證書是cer格式。

但是requests支援的是pem格式,所以需要借助openssl工具來進行格式轉換。

openssl x509 -inform der -text -in fiddlerroot.cer -out c:\users\ya\desktop\out.pem

在請求引數中直接新增verify引數即可

response = requests.get(url='

', headers=headers,proxies=proxies,verify=r'

c:\users\ya\desktop\out.pem

')

在session中使用如下方式(未驗證)

s =requests.session()

s.verify = '

/path/to/certfile

'

requests模組的高階使用

型別免費 為了避免ip失效,我們應該構建乙個 池,裡面存放可用的 池的構建也是通過爬蟲實現的,我們可以去快 上去爬取,但是頻繁訪問快 也是會被封的,所以我們需要去買一些 來爬取快 有點以小博大的意思 這裡的 選取主要用於舉例,主要是方法 池的用法 ip pool url page text requ...

Python高階(requests模組)

requests 是用python語言編寫,基於 urllib的第三方庫,在呼叫http介面,以及http測試時常用。需要學會requests與response,其中response是requests請求返回的物件。1.requests.get url,params none,kwargs 2.re...

requests模組高階操作之proxies

一 proxy 概念 伺服器 作用 請求和響應的 免費 www.goubanjia.com 快 西祠 精靈 付費 匿名度 透明 對方伺服器知道你使用 也知道你真實ip 匿名 對方知道你使用 但不知道你真實ip 高匿 對方什麼都不知道 型別 http 只能攔截或 http請求 https 只能攔截或者...