以下は、記事の内容です:
この記事では、知識の内容を説明し、次の含まれます。
-
PyQt5使用。
-
セレンは、使用されています。
-
プロキシサーバーを設定して使用します。
まず、アカウントの制限の痛み
今日のインターネットでは、インターネットアプリケーションのすべての種類の大部分を占めるように自由な情報やリソースは、情報と資源産業を提供します。これは、インターネットが繁栄し、拡大し続けることができ、重要な理由の一つです。
同時に、手数料や民間のインターネット利用のいくつかは、より貴重で有意義なインターネットの世界の一部を構成しています。
サービスを利用することができますいくつかの制限の少ないサイトは、あなただけのユーザーでログインする必要があるかもしれません。
画像
いくつかの緩やかな制限部位は、セキュリティ上の理由やその他の考慮事項、一定の時間を使用してログインするアカウントに固有の特定のIP範囲の制限を占めるかもしれません。
画像
そして、いくつかの非常に制限サイトは、あなたがハードウェアデバイスを使用する必要があります+(例えばUシールド、ドングル、などなど)だけでなく、ブラウザプラグインの一部を利用して、ログインするアカウント。
画像
これらは主に、アカウントのログイン制限にアカウントのセキュリティを確保するが、ユーザーに大きな不便を与えています。
いくつかのニーズのために、私たちは、今回のには限界ログが含まれており、同時に複数の人の使用を共有するために、アカウントを使用する必要があり、我々はこの需要の完璧な実現にはPythonを使用することができます。
第二に、アカウントの使用制限を突破
画像
このシナリオでは、以下のツールを使用する必要があります。
-
セレン:標的部位をシミュレートするにはログインしてください。
-
クッキーストレージサービス:ストレージのための、成功した標的部位ログインクッキーに戻ります。
-
PyQt5またはPiSide2 QWebEngineブラウザで作られたモジュール基づき、
上の私たちの最初の標的部位セレンシミュレーションログを持つとクッキークッキー・ストレージ・サービスをアップロードし、更新するため、ログインに成功したログイン状態を維持し続けます。
そして、そのコアブラウザ自家製ブラウザでPyQt5またはPySide2 QWebEngineモジュールを使用しています。
ブート時にクッキーストレージサービス、デフォルトのブラウザグローバルクッキーとして設定取得クッキーから最新のクッキーを取得します。
このように、我々はターゲットサイトを開き、デフォルトの状態では、すでにログインしています。だから、ログイン制限を排除し、
IPログイン異常なアカウントを持つ第三に、契約
しかし、アカウントを共有することができ、上記のプログラムでは、問題があります。例えば:
多个用户同时访问的时候,同一个Cookie会匹配给多个IP地址,这对于网站后台而言,可能会将其识别为多个用户登录,从而导致频繁掉线。
多个用户访问,会使同一个账号出现多个IP地址,这对于一些安全等级较高的网站来说,会将其判定为存在疑似用户被盗号的风险,进行限制账号登录和访问。
面对这种情况,我们则需要下面这种方案:
image
在这个方案中,我们加入了一个关键的代理服务器。
这个代理服务器会对包括Selenium和浏览器的所有请求进行转发。
Selenium通过这个代理服务器模拟登录目标网站,自制的Qt浏览器也默认通过代理服务器访问目标网站。
在加入代理服务器之后,无论是多少个用户同时访问目标网站,所呈现出来的IP地址永远只有代理服务器的IP地址这一个。
这样,就避免了因为多个用户访问导致同一账号被多个IP地址使用,从而导致账号掉线和限制登录的风险了。
大家还有什么好的方案,欢迎留言交流.