基於Python打造賬號共享瀏覽器功能

這篇文章主要介紹了基於Python打造賬號共享瀏覽器功能,本文圖文並茂給大家介紹的非常詳細,具有一定的參考借鑑價值,需要的朋友可以參考下

本篇文章介紹的內容會涉及到以下知識:

  • PyQt5的使用;
  • Selenium的使用;
  • 代理服務器的架設和使用;

一、賬號限制之痛

在如今的互聯網中,免費的信息和資源佔據了很大一部分,各類互聯網應用提供了各行各業的資訊和資源。這是互聯網能夠不斷繁榮和擴大的重要原因之一。

與此同時,一些收費或不公開的互聯網應用則構成了互聯網世界中更有價值和意義的部分。

一些限制性較低的網站,可能僅僅需要進行用戶登錄即可使用服務;

一些限制性中等的網站,則可能會出於賬戶安全或是其他方面的因素考慮,限制賬號在一定時間一定IP範圍內在進行登錄使用;

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

這些對賬號登錄的限制措施很大程度上確保了賬戶的安全性,但是卻給使用者帶來了很大的不便。

出於某些需求,我們可能需要將一個包含限制登錄和使用的賬號分享給多個人同時使用,這時候,我們就可以藉助Python來完美實現這個需求了。

二、突破賬號使用限制

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

Selenium:用於模擬登錄目標網站; Cookie存儲服務:用於存儲和返回目標網站登錄成功的Cookie; 一個基於PyQt5或PiSide2的QWebEngine模塊製作的瀏覽器;

我們首先借助Selenium對目標網站進行模擬登錄並不斷維持登錄狀態,將登錄成功和更新的Cookie上傳給Cookie存儲服務;

然後使用PyQt5或PySide2藉助其QWebEngine模塊的瀏覽器核心自制一個瀏覽器。

在啓動的時候從Cookie存儲服務中獲取最新的Cookie,將獲取到的Cookie配置爲瀏覽器默認全局Cookie。

這樣,在我們打開目標網站的時候,默認就是已經登錄後的狀態了。如此就免除了登錄限制;

三、處理賬號登錄IP異常

在上面提到的方案中,基本可以實現賬號的共享,但是問題也是有的。比如:

多個用戶同時訪問的時候,同一個Cookie會匹配給多個IP地址,這對於網站後臺而言,可能會將其識別爲多個用戶登錄,從而導致頻繁掉線。

多個用戶訪問,會使同一個賬號出現多個IP地址,這對於一些安全等級較高的網站來說,會將其判定爲存在疑似用戶被盜號的風險,進行限制賬號登錄和訪問。

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

在這個方案中,我們加入了一個關鍵的代理服務器。

這個代理服務器會對包括Selenium和瀏覽器的所有請求進行轉發。

Selenium通過這個代理服務器模擬登錄目標網站,

自制的Qt瀏覽器也默認通過代理服務器訪問目標網站。

在加入代理服務器之後,無論是多少個用戶同時訪問目標網站,所呈現出來的IP地址永遠只有代理服務器的IP地址這一個。

這樣,就避免了因爲多個用戶訪問導致同一賬號被多個IP地址使用,從而導致賬號掉線和限制登錄的風險了。

總結

以上所述是小編給大家介紹的基於Python打造賬號共享瀏覽器功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對神馬文庫網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章