溫馨提示×

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

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

基于Python打造賬號(hào)共享瀏覽器功能

發(fā)布時(shí)間:2020-08-25 12:46:25 來(lái)源:腳本之家 閱讀:122 作者:州的先生 欄目:開(kāi)發(fā)技術(shù)

本篇文章介紹的內(nèi)容會(huì)涉及到以下知識(shí):

  • PyQt5的使用;
  • Selenium的使用;
  • 代理服務(wù)器的架設(shè)和使用;

一、賬號(hào)限制之痛

在如今的互聯(lián)網(wǎng)中,免費(fèi)的信息和資源占據(jù)了很大一部分,各類(lèi)互聯(lián)網(wǎng)應(yīng)用提供了各行各業(yè)的資訊和資源。這是互聯(lián)網(wǎng)能夠不斷繁榮和擴(kuò)大的重要原因之一。

與此同時(shí),一些收費(fèi)或不公開(kāi)的互聯(lián)網(wǎng)應(yīng)用則構(gòu)成了互聯(lián)網(wǎng)世界中更有價(jià)值和意義的部分。

一些限制性較低的網(wǎng)站,可能僅僅需要進(jìn)行用戶登錄即可使用服務(wù);

基于Python打造賬號(hào)共享瀏覽器功能

一些限制性中等的網(wǎng)站,則可能會(huì)出于賬戶安全或是其他方面的因素考慮,限制賬號(hào)在一定時(shí)間一定IP范圍內(nèi)在進(jìn)行登錄使用;

基于Python打造賬號(hào)共享瀏覽器功能

而一些限制性很高的網(wǎng)站,則可能需要使用到硬件設(shè)備(比如U盾、加密狗等)+賬號(hào)進(jìn)行登錄,部分還會(huì)配合使用到瀏覽器插件。

基于Python打造賬號(hào)共享瀏覽器功能

這些對(duì)賬號(hào)登錄的限制措施很大程度上確保了賬戶的安全性,但是卻給使用者帶來(lái)了很大的不便。

出于某些需求,我們可能需要將一個(gè)包含限制登錄和使用的賬號(hào)分享給多個(gè)人同時(shí)使用,這時(shí)候,我們就可以借助Python來(lái)完美實(shí)現(xiàn)這個(gè)需求了。

二、突破賬號(hào)使用限制

基于Python打造賬號(hào)共享瀏覽器功能

在這個(gè)方案中,我們需要使用到以下工具:

Selenium:用于模擬登錄目標(biāo)網(wǎng)站; Cookie存儲(chǔ)服務(wù):用于存儲(chǔ)和返回目標(biāo)網(wǎng)站登錄成功的Cookie; 一個(gè)基于PyQt5或PiSide2的QWebEngine模塊制作的瀏覽器;

我們首先借助Selenium對(duì)目標(biāo)網(wǎng)站進(jìn)行模擬登錄并不斷維持登錄狀態(tài),將登錄成功和更新的Cookie上傳給Cookie存儲(chǔ)服務(wù);

然后使用PyQt5或PySide2借助其QWebEngine模塊的瀏覽器核心自制一個(gè)瀏覽器。

在啟動(dòng)的時(shí)候從Cookie存儲(chǔ)服務(wù)中獲取最新的Cookie,將獲取到的Cookie配置為瀏覽器默認(rèn)全局Cookie。

這樣,在我們打開(kāi)目標(biāo)網(wǎng)站的時(shí)候,默認(rèn)就是已經(jīng)登錄后的狀態(tài)了。如此就免除了登錄限制;

三、處理賬號(hào)登錄IP異常

在上面提到的方案中,基本可以實(shí)現(xiàn)賬號(hào)的共享,但是問(wèn)題也是有的。比如:

多個(gè)用戶同時(shí)訪問(wèn)的時(shí)候,同一個(gè)Cookie會(huì)匹配給多個(gè)IP地址,這對(duì)于網(wǎng)站后臺(tái)而言,可能會(huì)將其識(shí)別為多個(gè)用戶登錄,從而導(dǎo)致頻繁掉線。

多個(gè)用戶訪問(wèn),會(huì)使同一個(gè)賬號(hào)出現(xiàn)多個(gè)IP地址,這對(duì)于一些安全等級(jí)較高的網(wǎng)站來(lái)說(shuō),會(huì)將其判定為存在疑似用戶被盜號(hào)的風(fēng)險(xiǎn),進(jìn)行限制賬號(hào)登錄和訪問(wèn)。

面對(duì)這種情況,我們則需要下面這種方案:

基于Python打造賬號(hào)共享瀏覽器功能

在這個(gè)方案中,我們加入了一個(gè)關(guān)鍵的代理服務(wù)器。

這個(gè)代理服務(wù)器會(huì)對(duì)包括Selenium和瀏覽器的所有請(qǐng)求進(jìn)行轉(zhuǎn)發(fā)。

Selenium通過(guò)這個(gè)代理服務(wù)器模擬登錄目標(biāo)網(wǎng)站,

自制的Qt瀏覽器也默認(rèn)通過(guò)代理服務(wù)器訪問(wèn)目標(biāo)網(wǎng)站。

在加入代理服務(wù)器之后,無(wú)論是多少個(gè)用戶同時(shí)訪問(wèn)目標(biāo)網(wǎng)站,所呈現(xiàn)出來(lái)的IP地址永遠(yuǎn)只有代理服務(wù)器的IP地址這一個(gè)。

這樣,就避免了因?yàn)槎鄠€(gè)用戶訪問(wèn)導(dǎo)致同一賬號(hào)被多個(gè)IP地址使用,從而導(dǎo)致賬號(hào)掉線和限制登錄的風(fēng)險(xiǎn)了。

總結(jié)

以上所述是小編給大家介紹的基于Python打造賬號(hào)共享瀏覽器功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

向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