python乾貨 用requests庫實現模擬登陸

2021-10-12 17:18:59 字數 1604 閱讀 4405

方法一:直接使用已知的cookie訪問

方法二:模擬登入後再攜帶得到的cookie訪問

方法三:模擬登入後用session保持登入狀態

方法四:使用無頭瀏覽器訪問

使用已知的cookie來訪問,簡單來說,就是——只要得到了別的客戶端的cookie,我們就可以假冒成它來和伺服器對話。這給我們的程式帶來了可乘之機。

用cookie訪問就會有一下的好處:

可配置到期規則 cookie 可以在瀏覽器會話結束時到期,或者可以在客戶端計算機上無限期存在,這取決於客戶端的到期規則。

簡單性 cookie 是一種基於文字的輕量結構,包含簡單的鍵值對。

資料永續性 雖然客戶端計算機上 cookie 的持續時間取決於客戶端上的 cookie 過期處理和使用者干預,cookie 通常是客戶端上持續時間最長的資料保留形式。

原理:我們先在程式中向**發出登入請求,也就是提交包含登入資訊的表單(使用者名稱、密碼等)。從響應中得到cookie,今後在訪問其他頁面時也帶上這個cookie,就能得到只有登入後才能看到的頁面。

首先了解一下session的基本原理:瀏覽器和伺服器採用http無狀態的通訊,為了保持客戶端的狀態,使用session來達到這個目的。在session機制中,採用了乙個唯一的session_id來標示不同的使用者,瀏覽器每次請求都會帶上由伺服器為它生成的session_id.

當客戶端訪問伺服器時,伺服器根據需求設定session,將會話資訊儲存在伺服器上,同時將標示session的session_id傳遞給客戶端瀏覽器,

瀏覽器將這個session_id儲存在記憶體中(還有其他的儲存方式,例如寫在url中),我們稱之為無過期時間的cookie。瀏覽器關閉後,這個cookie就清掉了,它不會存在使用者的cookie臨時檔案。以後瀏覽器每次請求都會額外加上這個引數值,再伺服器根據這個session_id,就能取得客戶端的資料狀態。

無頭瀏覽器列舉:

Python爬蟲 HTTP協議 Requests庫

http協議 http hypertext transfer protocol 即超文字傳輸協議。url是通過http協議訪問資源的internet路徑,乙個url對應乙個資料資源。http協議對資源的操作 requests庫提供了http所有的基本請求方式。官方介紹 requests庫的6個主要方...

python 爬蟲系列02 認識 requests

本系列所有文章基於 python3.5.2 requests 是基於 urllib 的三方模組,相比於 uillib,操作更簡潔,功能更強大,而且支援 python3 getimport requests r requests.get url print r.status code print r....

python小白學習記錄 爬蟲requests篇

一 引用庫 import requests 二 請求訪問url,網頁相應 res requests.get 網頁位址 三 表明返回內容 目前返回的response物件有四種屬性 status code 檢查請求是否成功 content 將資料轉換為二進位制資料 text 將資料轉換為字串型資料 en...