Scrapy を使って Cloudflare を回避する方法:2024 年チュートリアル

Expert Network Defense Engineer
人気のあるオンラインパフォーマンスとセキュリティツールにCloudflareがあります。その洗練された反ボットシステムは、最先端の手法を使用して人工トラフィックを認識し阻止するため、「アクセス拒否」エラーメッセージが表示されます。
この投稿では、PythonとScrapy Cloudflareミドルウェアを使用してCloudflareを回避する方法について説明します。
Scrapy-Cloudflareと呼ばれるミドルウェアとは何ですか?
Scrapy Cloudflareミドルウェアと呼ばれるプログラムは、Scrapyウェブスクレイピングツールと連携して、あなたの代わりにCloudflareの問題を処理します。スクレイピングプロセスのさまざまなポイントでリクエストとレスポンスを傍受して変更するために、Scrapyスパイダーとターゲットサーバーの仲介役を果たします。
Scrapyプロジェクトにミドルウェアを使用すると、検出とブロックを回避する可能性が高まります。
Scrapy-Cloudflareはどのように動作しますか?
Scrapyスパイダーは、クロールを開始するとすぐに、事前に決まったURLに対するクエリを作成します。Scrapy Cloudflareは、ミドルウェアパイプラインを通過した後、これらのリクエストを変更して人間の行動を模倣することができます。
このツールの主な目的は、Cloudflareの「攻撃を受けていますモード」ページを回避することです。Scrapy Cloudflareミドルウェアは、Cloudflareチャレンジサーバーからのレスポンスを受信すると、そのレスポンスを傍受してJavaScriptチャレンジを解決します。
Scrapy-Cloudflareミドルウェアを使用してCloudflareを回避する方法
この記事では、PythonとScrapyを使用してCloudflareを回避する方法を説明します。リクエストを送信する前に、DOWNLOADER_MIDDLEWARES
設定にミドルウェアを追加する必要があります。
1. Scrapyの準備
ScrapyはPython 3.6以降を必要とするオープンソースフレームワークであるため、Pythonがインストールされていることを確認してください。次に、ターミナルで以下のコマンドを使用してScrapyをインストールします。
language
pip install scrapy
次に、以下のコマンドを実行して、新しいScrapyプロジェクトを開始します。test_project
の代わりにプロジェクト名を入力してください。
language
scrapy startproject test_project
新しく作成したプロジェクトのディレクトリを開き、最初のスパイダーを起動します。
language
cd test_project
scrapy genspider (SpiderName) (TargetURL)
CAPTCHAと継続的なウェブスクレイピングのブロックにうんざりしていませんか?
Scrapeless:利用可能な最高のオールインワンのオンラインスクレイピングソリューション!
データ抽出の可能性を最大限に引き出すために、強力なツールキットをご利用ください。
最高のCAPTCHAソルバー
複雑なCAPTCHAを自動的に解決して、継続的でスムーズなスクレイピングを確保します。
無料でお試しください!
2. Scrapy Cloudflareのミドルウェアを設定して組み込む
Scrapy Cloudflareミドルウェアをインストールするには、ルートディレクトリに移動して次のコマンドを実行する必要があります。
language
pip install scrapy_cloudflare_middleware
次に、settings.py
ファイルを開き、Scrapy Cloudflareミドルウェアを含めます。settings.py
ファイルは次のようになります。
language
BOT_NAME = "test_project"
SPIDER_MODULES = ["test_project.spiders"]
NEWSPIDER_MODULE = "test_project.spiders"
DOWNLOADER_MIDDLEWARES = {
"test_project.middlewares.TestProjectDownloaderMiddleware": 543,
"scrapy_cloudflare_middleware.middlewares.CloudFlareMiddleware": 560,
}
まとめ
Python Scrapy Cloudflareミドルウェアは、基本的なJavaScript Cloudflareの問題を回避することに依存していました。しかし、セキュリティシステムは常に防御を更新しているため、Scrapy Cloudflareミドルウェアは機能しなくなりました。
ありがたいことに、Scrapyには、ブロックされない実証済みの方法を提供するScrapelessという代替手段があります。今日登録して無料トライアルを試してみましょう!
Scrapeless では、適用される法律、規制、および Web サイトのプライバシー ポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツはデモンストレーションのみを目的としており、違法または侵害的な活動には関与していません。 私たちは、このブログまたはサードパーティのリンクからの情報の使用についていかなる保証もせず、一切の責任を負いません。 スクレイピング活動を行う前に、法律顧問に相談し、対象となる Web サイトの利用規約を確認するか、必要な許可を取得してください。