這篇文章將為大家詳細講解有關(guān)如何基于Python打造賬號共享瀏覽器,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
為呈貢等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及呈貢網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、呈貢網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
在如今的互聯(lián)網(wǎng)中,免費的信息和資源占據(jù)了很大一部分,各類互聯(lián)網(wǎng)應(yīng)用提供了各行各業(yè)的資訊和資源。這是互聯(lián)網(wǎng)能夠不斷繁榮和擴大的重要原因之一。
與此同時,一些收費或不公開的互聯(lián)網(wǎng)應(yīng)用則構(gòu)成了互聯(lián)網(wǎng)世界中更有價值和意義的部分。
一些限制性較低的網(wǎng)站,可能僅僅需要進行用戶登錄即可使用服務(wù);
一些限制性中等的網(wǎng)站,則可能會出于賬戶安全或是其他方面的因素考慮,限制賬號在一定時間一定IP范圍內(nèi)在進行登錄使用;
而一些限制性很高的網(wǎng)站,則可能需要使用到硬件設(shè)備(比如U盾、加密狗等)+賬號進行登錄,部分還會配合使用到瀏覽器插件。
這些對賬號登錄的限制措施很大程度上確保了賬戶的安全性,但是卻給使用者帶來了很大的不便。
出于某些需求,我們可能需要將一個包含限制登錄和使用的賬號分享給多個人同時使用,這時候,我們就可以借助Python來完美實現(xiàn)這個需求了。
在這個方案中,我們需要使用到以下工具:
Selenium:用于模擬登錄目標網(wǎng)站;
Cookie存儲服務(wù):用于存儲和返回目標網(wǎng)站登錄成功的Cookie;
一個基于PyQt5或PiSide2的QWebEngine模塊制作的瀏覽器;
我們首先借助Selenium對目標網(wǎng)站進行模擬登錄并不斷維持登錄狀態(tài),將登錄成功和更新的Cookie上傳給Cookie存儲服務(wù);
然后使用PyQt5或PySide2借助其QWebEngine模塊的瀏覽器核心自制一個瀏覽器。
在啟動的時候從Cookie存儲服務(wù)中獲取最新的Cookie,將獲取到的Cookie配置為瀏覽器默認全局Cookie。
這樣,在我們打開目標網(wǎng)站的時候,默認就是已經(jīng)登錄后的狀態(tài)了。如此就免除了登錄限制;
在上面提到的方案中,基本可以實現(xiàn)賬號的共享,但是問題也是有的。比如:
多個用戶同時訪問的時候,同一個Cookie會匹配給多個IP地址,這對于網(wǎng)站后臺而言,可能會將其識別為多個用戶登錄,從而導(dǎo)致頻繁掉線。
多個用戶訪問,會使同一個賬號出現(xiàn)多個IP地址,這對于一些安全等級較高的網(wǎng)站來說,會將其判定為存在疑似用戶被盜號的風險,進行限制賬號登錄和訪問。
面對這種情況,我們則需要下面這種方案:
在這個方案中,我們加入了一個關(guān)鍵的代理服務(wù)器。
這個代理服務(wù)器會對包括Selenium和瀏覽器的所有請求進行轉(zhuǎn)發(fā)。
Selenium通過這個代理服務(wù)器模擬登錄目標網(wǎng)站,自制的Qt瀏覽器也默認通過代理服務(wù)器訪問目標網(wǎng)站。
在加入代理服務(wù)器之后,無論是多少個用戶同時訪問目標網(wǎng)站,所呈現(xiàn)出來的IP地址永遠只有代理服務(wù)器的IP地址這一個。
這樣,就避免了因為多個用戶訪問導(dǎo)致同一賬號被多個IP地址使用,從而導(dǎo)致賬號掉線和限制登錄的風險了。
關(guān)于如何基于Python打造賬號共享瀏覽器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。