🥳Scrapeless コミュニティ に参加し、無料トライアルを請求して、強力な Web スクレイピング ツールキットにアクセスしてください。
ブログに戻る

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

Michael Lee
Michael Lee

Expert Network Defense Engineer

09-Sep-2024

人気のあるオンラインパフォーマンスとセキュリティツールに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 Copy
pip install scrapy

次に、以下のコマンドを実行して、新しいScrapyプロジェクトを開始します。test_projectの代わりにプロジェクト名を入力してください。

language Copy
scrapy startproject test_project

新しく作成したプロジェクトのディレクトリを開き、最初のスパイダーを起動します。

language Copy
cd test_project
scrapy genspider (SpiderName) (TargetURL)

CAPTCHAと継続的なウェブスクレイピングのブロックにうんざりしていませんか?

Scrapeless:利用可能な最高のオールインワンのオンラインスクレイピングソリューション!

データ抽出の可能性を最大限に引き出すために、強力なツールキットをご利用ください。

最高のCAPTCHAソルバー

複雑なCAPTCHAを自動的に解決して、継続的でスムーズなスクレイピングを確保します。

無料でお試しください!

2. Scrapy Cloudflareのミドルウェアを設定して組み込む

Scrapy Cloudflareミドルウェアをインストールするには、ルートディレクトリに移動して次のコマンドを実行する必要があります。

language Copy
pip install scrapy_cloudflare_middleware

次に、settings.pyファイルを開き、Scrapy Cloudflareミドルウェアを含めます。settings.pyファイルは次のようになります。

language Copy
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 サイトの利用規約を確認するか、必要な許可を取得してください。

最も人気のある記事

カタログ