您好,登錄后才能下訂單哦!
這篇文章主要介紹python模擬登陸的方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
python模擬登陸的幾種方法
客戶端向服務器發送請求,cookie則是表明我們身份的標志。而“訪問登錄后才能看到的頁面”這一行為,恰恰需要客戶端向服務器證明:“我是剛才登錄過的那個客戶端”。于是就需要cookie來標識客戶端的身份,以存儲它的信息(如登錄狀態)
1、先在瀏覽器中登錄,然后打開開發者選項,找到一個請求方法為POST的請求,復制Requests Headers中的cookie在爬取需要登錄的頁面時加上此cookies即可
import requests url = '......' headers = {'cookies':'......'} response = requests.get(url=url, headers=headers)
2、 模擬登錄,并用session維持會話,用requests的session模擬登錄后session會記錄cookies,接下來的請求會被放在同一個會話中。舉個簡單例子,在 requests 中,如果直接利用 get()或 post()等方法的確可以做到模擬網頁的請求,但是這實際 上是相當于不同的會話,也就是說相當于你用了兩個瀏覽器打開了不同的頁面。設想這樣一個場景,第一個請求利用 post()方法登錄了某個網站,第二次想獲取成功登錄后的自 己的個人信息,你又用了一次 get()方法去請求個人信息頁面。 實際上,這相當于打開了兩個瀏覽器, 這是兩個完全不相關的會話,能成功獲取個人信息嗎?那當然不能
import requests ''' 下面的data是先在瀏覽器中登錄,然后打開開發者選項,找到一個請求方法為POST的請求,復制里面的Form Data ''' url = '......' data = { username:'......', password:flz_sanqianchi, rememberMe:true, lt:LT-82465-9HtQnC7ZASZHohtnQlrqMvXo7cI2B7, execution:e1s1, } headers = {'user-agent':'Mozolla/5.0'} ''' 這里用requests的session來請求網頁,做到維持同一會話的目的 ''' session = requests.Session() reqsonse = session.post(url=url, headers=headers, data=data) ''' 接下來就可以請求別的登陸后的頁面,而不需要處理cookies ''' url2 = '這里是已經登錄后的某一頁面' response = session.get(url=url2, headers=headers)
以上是“python模擬登陸的方法有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。