溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python爬蟲怎么繞過(guò)登錄頁(yè)面

發(fā)布時(shí)間:2021-08-30 09:44:57 來(lái)源:億速云 閱讀:129 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“Python爬蟲怎么繞過(guò)登錄頁(yè)面”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Python爬蟲怎么繞過(guò)登錄頁(yè)面”吧!

前言

很多時(shí)候我們做 Python 爬蟲時(shí)或者自動(dòng)化測(cè)試時(shí)需要用到 selenium 庫(kù),我們經(jīng)常會(huì)卡在登錄的時(shí)候,登錄驗(yàn)證碼是最頭疼的事情,特別是如今的文字驗(yàn)證碼和圖形驗(yàn)證碼。文字和圖形驗(yàn)證碼還加了干擾線,本文就來(lái)講講怎么繞過(guò)登錄頁(yè)面。

登錄頁(yè)面的驗(yàn)證,比如以下的圖形驗(yàn)證碼。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

還有我們基本都看過(guò)的 12306 的圖形驗(yàn)證碼。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

繞過(guò)登錄方法

繞過(guò)登錄基本有兩種方法,第一種方法是登錄后查看網(wǎng)站的 cookie,請(qǐng)求 url 的時(shí)候把 cookie 帶上,第二種方法是啟動(dòng)瀏覽器帶上瀏覽器的全部信息,包括添加的書簽和訪問(wèn)網(wǎng)頁(yè)的 cookie 信息。

第一種 cookie 方法我們要分析別人網(wǎng)站的 cookie 值,找出相應(yīng)的值然后添加進(jìn)去,對(duì)于我們不熟的網(wǎng)站,他們可能也會(huì)做加密或者動(dòng)態(tài)處理,所以有些網(wǎng)站也不是那么好操作。如果是自己公司的網(wǎng)站需要測(cè)試,我們可以詢問(wèn)對(duì)應(yīng)的開發(fā)那個(gè) cookie 值是區(qū)分獨(dú)立用的值,拿出來(lái)放在請(qǐng)求里面就行。

添加 cookie 繞過(guò)登錄

比如我們登錄百度賬號(hào)比較費(fèi)勁,每次都需要登錄也比較繁瑣,我們 F12 打開頁(yè)面調(diào)試工具,登錄后找到 www.baidu.com 文件,在 cookie 中,我們發(fā)現(xiàn)很多值,其中圖中圈起來(lái)的就是我們要找的值。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

我們?cè)谠L問(wèn) baidu 鏈接的時(shí)候加上這個(gè) cookie 值,這樣就是直接登錄后的百度賬號(hào)了。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

下載瀏覽器驅(qū)動(dòng)

我們要 selenium 啟動(dòng)瀏覽器時(shí),需要下載后對(duì)應(yīng)的驅(qū)動(dòng)文件并放在 Python 安裝的根目錄下,比如我會(huì)用到谷歌 Chrome 瀏覽器和 Firefox 火狐瀏覽器。

Python爬蟲怎么繞過(guò)登錄頁(yè)面谷歌瀏覽器驅(qū)動(dòng)下載地址:

http://chromedriver.storage.googleapis.com/index.html

火狐瀏覽器驅(qū)動(dòng)下載地址:

https://github.com/mozilla/geckodriver/releases/

啟動(dòng) Chrome 瀏覽器繞過(guò)登錄

我們每次打開瀏覽器做相應(yīng)操作時(shí),對(duì)應(yīng)的緩存和 cookie 會(huì)保存到瀏覽器默認(rèn)的路徑下,我們先查看個(gè)人資料路徑,以 chrome 為例,我們?cè)诘刂窓谳斎?chrome://version/

Python爬蟲怎么繞過(guò)登錄頁(yè)面

圖中的個(gè)人資料路徑就是我們需要的,我們?nèi)サ艉竺娴?\Default,然后在路徑前加上「–user-data-dir=」就拼接出我們要的路徑了。

profile_directory = r'--user-data-dir=C:\Users\xxx\AppData\Local\Google\Chrome\User Data'

接下來(lái),我們啟動(dòng)瀏覽器的時(shí)候采用帶選項(xiàng)時(shí)的啟動(dòng),這種方式啟動(dòng)瀏覽器需要注意,運(yùn)行代碼前需要關(guān)閉所有的正在運(yùn)行 chrome 程序,不然會(huì)報(bào)錯(cuò)。全部代碼如下。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

selenium 自動(dòng)化啟動(dòng)瀏覽器后我們會(huì)發(fā)現(xiàn)我之前保存的書簽完整在瀏覽器上方,baidu 賬號(hào)也是登錄的狀態(tài)。

Python爬蟲怎么繞過(guò)登錄頁(yè)面啟動(dòng) Firfox 瀏覽器繞過(guò)登錄

Firfox 火狐瀏覽也可以這樣啟動(dòng)它,設(shè)置略有不同。

首先,查看配置文件的存儲(chǔ)路徑,查看方法:幫助–故障排除信息–配置文件夾,把里面的路徑復(fù)制過(guò)來(lái)就行。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

同樣,我們把路徑放在變量中。

profile_path = <span class="hljs-string">r'C:\Users\guixianyang\AppData\Roaming\Mozilla\Firefox\Profiles\dvm6wqam.default'</span>

我們也在火狐瀏覽器中登錄好百度的賬號(hào),用 selenium 自動(dòng)化啟動(dòng)帶配置文件的火狐瀏覽器,也會(huì)發(fā)現(xiàn)啟動(dòng)時(shí)已經(jīng)啟動(dòng)了瀏覽器安裝的插件和登錄好的百度賬號(hào)。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

繞過(guò)圖形驗(yàn)證碼的網(wǎng)站

文中第一個(gè)圖是簡(jiǎn)書登錄時(shí)的圖形驗(yàn)證碼,我們登錄簡(jiǎn)書后(cookie 有一定的時(shí)效,貌似有 10 天半個(gè)月左右),把上面代碼中的鏈接換成簡(jiǎn)書的,再用上面的方法覺(jué)可以實(shí)現(xiàn)繞過(guò)登錄頁(yè)的圖形驗(yàn)證碼。

比如我直接打開我的簡(jiǎn)書個(gè)人主頁(yè)

https://www.jianshu.com/u/52353ffa8b86

自動(dòng)化啟動(dòng)后也是保留了登錄的狀態(tài)。

Python爬蟲怎么繞過(guò)登錄頁(yè)面

網(wǎng)站的登錄大門已被打開,接下來(lái)就可以做自己想做的事情了,比如爬蟲、自動(dòng)化測(cè)試驗(yàn)證之類的。

感謝各位的閱讀,以上就是“Python爬蟲怎么繞過(guò)登錄頁(yè)面”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Python爬蟲怎么繞過(guò)登錄頁(yè)面這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI