コンテンツにスキップ

Selenium で Cloudflare 検出をバイパスする方法

ボットを Python でコーディングするときに Cloudflare の検出を回避する方法をお探しですか? 次に、あなたは正しいページにいます。 以下の記事では、Python と Selenium を使用して Cloudflare をバイパスする方法についてのガイドを提供します。

を含む Web ボット ウェブスクレイパー、長年にわたって多くの進歩を遂げてきました。 それに直面しましょう。 Web サイトもよりスマートになっています。 ボット トラフィックの検出. ボット開発者を悩ませているゲーム チェンジャーの XNUMX つは、 Cloudflare アンチボット システム.

Web サーバーとクライアント ソフトウェア間のミドルウェアまたはプロキシとして機能します。 Web リクエストを送信する場合、ターゲット Web サイトへのパススルーを許可する前に、それがスパムではなく正当であることを確認する必要があります。

通常のインターネット ユーザーは少し遅延が発生し、「アクセスする前にブラウザをチェックしています...」というメッセージが表示されます。 画面上のメッセージ。 しかし、これは最終的に通過します。 ただし、ボットを使用している場合は、アクセスが許可されない可能性が高くなります。 一部の開発者は、Selenium のようなブラウザー自動化ツールを使用すれば、魔法のような効果が得られると考えています。

残念ながら、Cloudflare はそのようなものも検出するように構築されています。 それで、あなたは何をし、どのようにしますか Cloudflare 検出をバイパスする Python と Cloudflare を使用するボット開発者ですか? この記事では、Python と Selenium を使用して Cloudflare 検出をバイパスする方法を示します。


Selenium の概要

セレンの概要

Selenium Web ドライバーは、ブラウザーの自動化ツールです。 それをどうするかはあなた次第です。 サイトのテストに使用する人もいれば、ボットやスクレイピングに使用する人もいます。 Python、Java、NodeJS などの複数の一般的なプログラミング言語で使用できるため、汎用性の高いツールです。

また、Chrome、Firefox、Edge、Internet Explorer などの一般的なブラウザーもサポートしています。 ここでの焦点は、その Python サポートにあります。 Python では、Selenium が、JavaScript レンダリングに依存する Web サイトをボット化およびスクレイピングするための主要なツールです。 Scrapy、Requests、Beautifulsoup などは、そのようなものには適していません。

ただし、Selenium は、基本的なスパム対策システムを備えた Web サイトに対してのみ有効です。 プロキシ、Cookie のクリア、ランダムな遅延の設定、およびその他のいくつかの方法を使用すると、検出を回避してブロックすることができます。

しかし、Web サイトが Cloudflare や Akamai などのスパム対策システムによって保護されている場合、Selenium は効果がなくなります。 これは、デフォルトの Selenium ツールが持つボットを検出するためにスパム対策システムが使用するデフォルトのポインターがあるためです。


Selenium と Python を使用して Cloudflare をバイパスする方法

正しい手順で、Selenium は Cloudflare を簡単にバイパスできます。 その前に、Cloudflare が Python と Selenium でコーディングされたボットを検出する際にどのように機能するかを見てみましょう。 これを行うには、アクセスを試みる単純なボットをコーディングします。 rayobyte.com.

Rayobyte の概要

Rayobyte は、Cloudflare によって保護されているプロキシ プロバイダーです。 ブラウザでアクセスしようとすると、アクセスを許可する前にブラウザをチェックする必要があります。 これを使用して Cloudflare がどれほど効果的かをテストし、それをバイパスする手段を組み込んだ別のボットをコーディングします。


ステップ 1: 必要なツールをインストールする

Python でボットをコーディングするには、Python がインストールされている必要があります。 このプロジェクトでは、Selenium もインストールする必要があります。

  • Python

Pythonの概要

ほとんどのシステムでは、Python はすでにインストールされています。 ただし、インストールされているバージョンは Python 2 であり、レガシーな理由で使用されています。 Selenium を使用するには、Python 3 をインストールする必要があります。 訪問 Pythonの公式ダウンロードページ システムにインストールします。 Windows、macOS、および Linux で使用できます。 インストールが正常に完了したかどうかを確認するには、コマンド プロンプトで次のコマンドを実行します。

「python —バージョン」
  • Selenium

セレンツール

Selenium は完全なボッティング ツールです。 ブラウザを自動化し、ページへのアクセス、ボタンのクリック、スクロール、さらにはフォームへの入力、および手動で実行できるアクションの実行を可能にします. Selenium はサードパーティのツールです。

それを機能させるには、それをインストールしてから、自動化するブラウザー用の特定のドライバーをダウンロードしてパスに配置する必要があります。

このガイドでは、最も一般的なブラウザである Chrome を使用します。

Selenium をインストールするには、

「ピップインストールセレン」

コマンドプロンプトでコマンド。 ダウンロードが完了すると、Chrome Web ドライバーのダウンロード ページにアクセスできるようになります。 ハ

お使いの Chrome のバージョンを確認し、お使いの Chrome バージョン専用のドライバーをダウンロードしてください。 他のバージョンのものをダウンロードすると動作しません。

ダウンロードしたら、コンテンツをフォルダに解凍します。 そのフォルダーが、このプロジェクトの作業フォルダーになります。


ステップ 2: バイパス トリックなしで Web サイトにリクエストを送信する

私たちのターゲットのウェブサイトは rayobyte.com. この Web サイトに要求を送信し、取得した応答を確認するスクリプトをコーディングします。

以下はコードです。 それは非常に簡単です。 より多くのコード行を必要とするものは、実際には Cloudflare をバイパスするコードを含むものです。

お気に入りの Python IDLE で以下のコードを使用します。 私の場合、現在市場で最高の IDLE である Pycharm を使用していますが、これには議論の余地があります。 それの主な問題は、それが支払われるということです。

from selenium.webdriver import Chrome browser = Chrome() browser.get("https://rayobyte.com")

上記のコードは、システムで Chrome ブラウザーを起動し、Rayobyte Web サイトのホームページにアクセスしようとします。

ただし、ページにアクセスする代わりに、ループして Cloudflare 検証ページに残ります。 以下は、ページがどのように見えるかのスクリーンショットです。

コードをよく確認すると、閉じていないことがわかります。 これは、ページの読み込みが許可されるかどうかを確認できるようにするためです。 しかし、それは決して起こりません。 自動ブラウザを閉じる必要があります。

すでに見てきたように、Selenium だけでは、Cloudflare をバイパスするために使用することはできません。 Cloudflare をバイパスしたい場合は、いくつかのトリックを利用する必要があります。 次のステップでは、同じ Selenium と Python を使用して Cloudflare をバイパスする方法を示します。


ステップ 3: プラグインを使用して Cloudflare をバイパスする

プラグインを使用して Cloudflare をバイパスする

上記からわかるように、Cloudflare は Selenium スクリプトをボットとして検出します。 この場合、プロキシを使用しても役に立ちません。 他の方法が必要です。

Selenium と Python で Cloudflare をバイパスする最善の方法は、次のライブラリを使用することです。 検出されない ChromeDriver. これを使用してインストールできます

「pip install undetect-chromedriver」

このプラグインは、Chrome を駆動/自動化したい場合にのみ機能します。 現在、他のブラウザを自動化するオプションはありません。 このライブラリがインストールされている場合は、Selenium のデフォルトのブラウザ クラスをこれに置き換えるだけで、準備完了です。

以下は、Undetected ChromeDriver を正しく使用して Cloudflare をバイパスする方法を示すコード スニペットです。

undetected_chromedriver を selenium.webdriver.support.ui から uc としてインポートします import WebDriverWait driver = uc.Chrome(use_subprocess=True) wait = WebDriverWait(driver, 20) driver.get("https://rayobyte.com")

undetected-chromedriver ライブラリを使用するだけで、Cloudflare による検出を回避できることがわかります。 これにより、タスクを自動化したり、問題なくウェブからデータをスクレイピングしたりすることができます.


Cloudflareをバイパスするためのプロキシの場所

Cloudflareをバイパスするためのプロキシの場所

上記のコードを見ると、プロセス全体でプロキシが使用されていないことがわかります。 Cloudflare をバイパスするためにプロキシが必要かどうか疑問に思うようになりました。 その理由は単純です。リクエストを XNUMX つだけ送信するからです。 少数のリクエストのみを送信する必要がある場合は、そのためにプロキシを使用する必要はありません。

ただし、ほとんどのボットのように多くのリクエストを送信する場合は、プロキシを利用する必要があります.

これは、ほとんどのアンチボット システムと同様に、IP 追跡がまだ Cloudflare サービスの主要部分の XNUMX つであるためです。 また、同じ IP からのリクエストが多すぎる場合、ボットのフットプリントがあるかどうかは問題ではありません。 そのような IP は疑わしいと見なされ、それ以降のリクエストはブロックされます。

Cloudflare をバイパスするために、住宅用プロキシを使用することをお勧めします。 これらに最適なプロキシ プロバイダーには、Bright Data、Smartproxy、Soax などがあります。 セッションを維持する必要がない場合、Cloudflare をバイパスするには、これらのプロバイダーからのローテーション プロキシを使用するのが最適です。


よくあるご質問

Q.プロキシはCloudflareのブロックから保護しますか?

いいえそうではありません。 一部のプロキシは、Cloudflare をバイパスするプロキシとして自身を売り込んでいるのを目にするかもしれません。 現場の現実は逆です。 プロキシだけでは、Cloudflare のブロックからあなたを守ることはできません. 通常のユーザー ブラウザを模倣できるツールを使用する必要があります。そこで、検出されない ChromeDriver を使用することになります。

Cloudflare経由で多くのリクエストを送信する必要がある場合、プロキシが必要です.プロキシを使用しないと、IP追跡およびブロックシステムからトリップするリスクがあります. 多くの場合プロキシが必要ですが、Cloudflare バイパスを回避するために必要なツールはプロキシだけではありません。

Q.Cloudflareはボットを防ぐのにどのくらい効果的ですか?

ターゲット Web サイトが Cloudflare で保護されている場合は、本当に心配する必要があります。 これは、Cloudflare がいくつかの興味深い数字を持っているためです。それらをバイパスしようとさえしなくても、あなたを怖がらせるでしょう。

入手可能なデータによると、Cloudflare によって保護されている Web サイトは、Cloudflare をセットアップする前に、リクエストが 65% 減少していることに気付きます。 これは Cloudflare がまさにそこで行っている素晴らしい仕事です。 また、ウェブサイトの読み込みが速くなり、帯域幅の使用が少なくなります。 ただし、適切なテクニックとツールを使用すると、それを回避して効果を低下させることができます.

Cloudflare のようなアンチボット システムは、Web サイトを DDoS 攻撃やその他の形式のスパムから保護します。 Web サイトがシステムとデータベースを保護するように構成していても、それらをバイパスすることは違法ではありません。

ただし、それらをバイパスした後に行うことは、法的な問題につながる可能性があります. 大量のリクエストで Web サイトに害を与えることなく、タスクを自動化するだけでよい場合は、法的枠組みの範囲内です。

私たちは有能な法律顧問ではありません。そのため、有能な実務家に法的助言を求めることをお勧めします。 ここで読んだものは、法的助言と見なしたり、受け取ったりするべきではありません。


まとめ

ボット開発者として、Cloudflare のようなアンチボット システムは、あなたを苛立たせる悪夢のようなものです。 これは、それらをバイパスした経験がない場合に特に当てはまります。

Selenium はブラウザーを自動化し、JS をレンダリングするため、初心者としては、Selenium を使用するのが簡単な方法であると考えるかもしれません。

しかし、Cloudflare は Selenium ベースのボットを手に入れたようです。 この記事で説明されている検出されない ChromeDriver ツールの助けを借りて、問題なく回避できるはずです。

参加する

あなたのメールアドレスは公開されません。 必須フィールドは、マークされています *