導航:首頁 > 編程語言 > python模擬登錄網頁

python模擬登錄網頁

發布時間:2025-09-13 16:04:13

python爬蟲模擬登錄是什麼意思

有些網站需要登錄後才能爬取所需要的信息,此時可以設計爬蟲進行模擬登錄,原理是利用瀏覽器cookie。

一、瀏覽器訪問伺服器的過程:
(1)瀏覽器(客戶端)向Web伺服器發出一個HTTP請求(Http request);
(2)Web伺服器收到請求,發回響應信息(Http Response);
(3)瀏覽器解析內容呈現給用戶。

二、利用Fiddler查看瀏覽器行為信息:

Http請求消息:

(1)起始行:包括請求方法、請求的資源、HTTP協議的版本號

這里GET請求沒有消息主體,因此消息頭後的空白行中沒有其他數據。

(2)消息頭:包含各種屬性

(3)消息頭結束後的空白行

(4)可選的消息體:包含數據

Http響應消息:

(1)起始行:包括HTTP協議版本,http狀態碼和狀態

(2)消息頭:包含各種屬性

(3)消息體:包含數據


可以發現,信息里不僅有帳號(email)和密碼(password),其實還有_xsrf(具體作用往後看)和remember_me(登錄界面的「記住我」)兩個值。

那麼,在python爬蟲中將這些信息同樣發送,就可以模擬登錄。

在發送的信息里出現了一個項:_xsrf,值為

這個項其實是在訪問知乎登錄網頁https://www.hu.com/#signin時,網頁發送過來的信息,在瀏覽器源碼中可見:

所以需要先從登錄網址https://www.hu.com/#signin獲取這個_xsrf的值,

並連同帳號、密碼等信息再POST到真正接收請求的http://www.hu.com/login/email網址。

(2)獲取_xsrf的值:
爬取登錄網址https://www.hu.com/#signin,從內容中獲取_xsrf的值。
正則表達式。

(3)發送請求:
xsrf = 獲取的_xsrf的值
data = {"email":"xxx","password":"xxx","_xsrf":xsrf}
login = s.post(loginURL, data = data, headers = headers)
loginURL:是真正POST到的網址,不一定等同於登錄頁面的網址;

(4)爬取登錄後的網頁:
response = s.get(getURL, cookies = login.cookies, headers = headers)
getURL:要爬取的登陸後的網頁;
login.cookies:登陸時獲取的cookie信息,存儲在login中。

(5)輸出內容:
print response.content

五、具體代碼:

[python]view plain

⑵ python獲取cookie後怎麼模擬登陸網站

運行平台:Windows

Python版本:Python3.x

IDE:Sublime text3

一、為什麼要使用Cookie

Cookie,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。
比如說有些網站需要登錄後才能訪問某個頁面,在登錄之前,你想抓取某個頁面內容,登陸前與登陸後是不同的,或者不允許的。
使用Cookie和使用代理IP一樣,也需要創建一個自己的opener。在HTTP包中,提供了cookiejar模塊,用於提供對Cookie的支持。

三、總結

獲取成功!如果看過之前的筆記內容,我想這些代碼應該很好理解吧。

閱讀全文

與python模擬登錄網頁相關的資料

熱點內容
自動關機dos命令 瀏覽:323
我的app為什麼打不開 瀏覽:155
華為手機更新app放在哪裡 瀏覽:779
阿里雲伺服器包含數據嗎 瀏覽:298
伺服器的密封是什麼 瀏覽:148
php面向對象繼承 瀏覽:72
smtplibpython安裝 瀏覽:475
python模擬登錄網頁 瀏覽:816
在哪查看自己的python位置 瀏覽:34
南京java公司 瀏覽:585
合唱app哪個好用 瀏覽:470
英文版伺服器日誌怎麼看 瀏覽:69
笑臉買小人賣主圖指標公式源碼 瀏覽:948
javasocket時間設置 瀏覽:692
使役形命令形 瀏覽:233
尚矽谷程序員哪個好 瀏覽:254
政治論pdf 瀏覽:565
mvc在android中的應用 瀏覽:450
劇場解壓視頻搞笑 瀏覽:139
壓縮式製冷機原理圖 瀏覽:868