爬虫如何利用session方法保持登陆状态(selenium)
爬取網(wǎng)站頁(yè)面時(shí)需要登錄后才能訪問(wèn),否則獲取不到頁(yè)面的實(shí)際響應(yīng)數(shù)據(jù)
有些網(wǎng)站需要我們登陸才能獲取訪問(wèn)數(shù)據(jù),然而往往登陸頁(yè)和所要爬取的數(shù)據(jù)不在同一頁(yè)面,這里一般都會(huì)想到對(duì)cookies進(jìn)行處理的方法,如下所示:
1、先成功登錄1次,獲取到cookies,處理為字典2、再改送請(qǐng)求,requests.get(xxx, cookies=cookies)然而requests模塊為我們提供一個(gè)更加方便的方法,名為session,可以幫助我們維持客戶端和服務(wù)端的會(huì)話狀態(tài)而不斷開(kāi):
# 1、實(shí)例化session對(duì)象session = requests.session()# 2、讓session對(duì)象發(fā)送get或者post請(qǐng)求post_data = {'username':'','password':''}res = session.post(url=url, data=post_data, headers=headers) # 登陸res = session.get(url=url, headers=headers)原理
瀏覽器原理: 訪問(wèn)需要登錄的頁(yè)面會(huì)帶著之前登錄過(guò)的cookie
程序原理: 同樣帶著之前登錄的cookie去訪問(wèn) - 由session對(duì)象完成
1、實(shí)例化session對(duì)象
2、登錄網(wǎng)站: session對(duì)象發(fā)送請(qǐng)求,登錄對(duì)應(yīng)網(wǎng)站,把cookie保存在session對(duì)象中
3、訪問(wèn)頁(yè)面: session對(duì)象請(qǐng)求需要登錄才能訪問(wèn)的頁(yè)面,session能夠自動(dòng)攜帶之前的這個(gè)cookie,進(jìn)行請(qǐng)求
selenium實(shí)現(xiàn)
模擬點(diǎn)擊,再用switch_to切換網(wǎng)頁(yè)
…
總結(jié)
以上是生活随笔為你收集整理的爬虫如何利用session方法保持登陆状态(selenium)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java将图片放入word文档中
- 下一篇: python面向对象编程指南([美ste