2026年にブロックされずにWebスクレイピングする方法
Webスクレイピング中にBANされていませんか?このガイドでは、プロキシローテーションからブラウザフィンガープリンティングまで、ブロック、CAPTCHA、IP BANを回避する9つの実証済みテクニックを解説します。中断なくスケールでスクレイピングしましょう。
2026年のWebスクレイピングはかつてないほど困難になっています。Webサイトは多層的なアンチBotシステムを展開し、IP、ブラウザフィンガープリント、行動パターン、リクエストタイミングをリアルタイムで分析しています。1つのミスでCAPTCHA、ソフトBAN、または恒久的なIPブロックを受けることになります。しかし、正しいテクニックを知っていれば、スクレイピングは完全に可能です。このガイドでは、ブロックされずにWebサイトをスクレイピングするための最も効果的な9つの方法を詳しく解説します。
Webサイトがスクレイパーをブロックする理由
解決策に入る前に、何に対処しているのかを理解しておきましょう。Akamai、Cloudflare、DataDome、PerimeterXなどの最新アンチBotシステムは、多層的な検出アプローチを使用しています:
- レイヤー1 - IPレピュテーション: このIPはデータセンター、VPN、それとも実際のISPからのものか?以前にフラグが立てられたことがあるか?最近どれだけのリクエストを送信したか?
- レイヤー2 - TLSフィンガープリント: TLSハンドシェイクは本物のブラウザと一致するか?それともPythonスクリプトやヘッドレスブラウザのように見えるか?
- レイヤー3 - ブラウザフィンガープリント: JavaScript環境は実際のデバイスと一致するか?画面サイズ、フォント、WebGLレンダラー、navigatorプロパティは整合性があるか?
- レイヤー4 - 行動分析: ユーザーはスクロール、マウス移動、クリックをしているか?それとも機械的な速度でHTTPリクエストを発射しているだけか?
ブロックされるということは、通常これらのレイヤーの1つ以上に失敗したことを意味します。良いニュースは、各レイヤーは適切なアプローチで対処できるということです。
1. 適切なプロキシタイプを使用する
IPアドレスはアンチBotシステムが最初にチェックするものであり、ブロックされるかどうかを左右する最大の要因です。2026年のプロキシ環境は以下のようになっています:
- データセンタープロキシ: 保護されたサイトで90%以上のブロック率。アンチBotシステムはすべてのデータセンターIP範囲のデータベースを保持しており、即座にフラグを立てます。保護されていないターゲットにのみ有効です。
- レジデンシャルプロキシ: 大規模スクレイピングに最適なオプション。実際のISPからの本物の家庭用IPのため、通常のユーザーと区別することがほぼ不可能です。2,500万以上のIPプールにより、190以上の国でスケーラブルにローテーションできます。
- ISPプロキシ: セッション維持が必要な、ターゲットを絞った高速スクレイピングに最適。実際のISPの信頼性とデータセンターの速度、無制限帯域幅を兼ね備えています。
ほとんどのスクレイピング作業には、大規模なIPローテーションが必要なためレジデンシャルプロキシが定番です。セッションの一貫性が重要な集中的なスクレイピング(ログイン状態でのスクレイピング、複数ページのフローなど)には、ISPプロキシがより適しています。
2. インテリジェントにIPをローテーションする
良質なプロキシを持っているだけでは十分ではありません - スマートにローテーションする必要があります。目標は、各IPを同じサイトに何千回もアクセスするスクレイパーではなく、通常のユーザーのように見せることです。
- リクエストごとにローテーション - セッションが不要なカタログページや検索結果の場合。各リクエストが異なるIPから送信されます。
- スティッキーセッションを使用(同じIPを5-30分間維持) - ログイン状態の維持、複数ページのフローのナビゲーション、リピーター訪問者として表示する必要がある場合。
- プロキシをターゲットに地理的に合わせる - フランスのECサイトをスクレイピングするなら、フランスのIPを使用してください。ロケーションの不一致は警告サインになります。
- 1つのサブネットからの集中アクセスを避ける。 プロバイダーから50のIPを取得しても、すべてが同じ/24範囲を共有していれば、サイトはパターンを検出します。サブネットの多様性が重要です。
3. レート制限を尊重する
ブロックされる最速の方法は、スクレイピング速度が速すぎることです。完璧なプロキシがあっても、同じドメインに毎秒100リクエストを送信すれば、レートリミッターが作動します。主要な原則:
- リクエスト間にランダムな遅延を追加 - 固定の2秒間隔(ロボット的に見える)ではなく、人間のブラウジングパターンを模倣する1-5秒のランダムな間隔を設定してください。
- グローバルではなくドメインごとにスロットルする。 10の異なるサイトを積極的にスクレイピングすることはできますが、1つのサイトに集中的にアクセスすると、そのサイトでブロックされます。
- エラー時にはバックオフする。 429(Too Many Requests)や503レスポンスが出始めたら、すぐに速度を落としてください。サーバーへのアクセスを続けると、ソフトブロックから恒久的なIP BANにエスカレートします。
- オフピーク時間帯にスクレイピング - サイトに余裕があり、全体的なトラフィック量が少ないため、あなたのトラフィックが紛れやすくなります。
4. リアルなブラウザヘッダーを設定する
すべてのHTTPリクエストには、ブラウザに関する情報をサーバーに伝えるヘッダーが含まれています。アンチBotシステムはこれらのヘッダーを既知のブラウザシグネチャと比較し、不一致があれば即座に警告サインとなります。
- User-Agent: 最新の実際のUser-Agent文字列のリストをローテーションしてください。単一の固定UAを使用したり、HTTPライブラリのデフォルトUA(
python-requests/2.31のような)を使用したりしないでください。 - Accept、Accept-Language、Accept-Encoding: これらは実際のブラウザが送信する値と一致する必要があります。Chrome、Firefox、Safariにはそれぞれ異なるデフォルト値があります。
- Referer: リアルなRefererを含めてください。商品ページをスクレイピングしている場合、Refererはカテゴリページまたは検索エンジンであるべきで、空ではいけません。
- Sec-Ch-Uaヘッダー: 最新のChromeはブラウザのブランドとバージョンを示すClient Hintsヘッダーを送信します。UAがChrome 124と言っているのにSec-Ch-UaがChrome 110と言っている場合、即座にフラグが立ちます。
重要なルール: リクエスト内のすべてのヘッダーは内部的に整合性があり、そのタイプの実際のブラウザが送信する内容と一致する必要があります。
5. TLSフィンガープリンティングに対処する
TLSフィンガープリンティングは2026年で最も効果的なアンチBot技術の1つであり、ほとんどのスクレイパーはそれが行われていることすら知りません。クライアントがHTTPS接続を確立する際、TLSハンドシェイクがクライアントがサポートする暗号スイート、拡張機能、楕円曲線に基づくユニークなフィンガープリントを明らかにします。
標準的なHTTPライブラリ(Python requests、Node axios、Go net/http)は、実際のブラウザとはまったく異なるTLSフィンガープリントを持っています。アンチBotシステムはこれらのフィンガープリントのデータベースを保持し、非ブラウザクライアントを即座にブロックします。
解決策:
- TLSスプーフィングライブラリを使用する - curl_cffi(Python)、got-scraping(Node.js)、utls(Go)など、実際のブラウザのTLSフィンガープリントを模倣できるライブラリを使用してください。
- 実際のブラウザを使用する - PlaywrightまたはPuppeteer経由で。実際のブラウザエンジンなので、TLSフィンガープリントは自然に一致します。
- フィンガープリントを最新に保つ。 ブラウザバージョンはリリースごとにTLSシグネチャを変更します。Chrome 124が最新なのにChrome 110のフィンガープリントを使用するのは不審です。
6. 必要に応じてヘッドレスブラウザを使用する
クライアントサイドでコンテンツをレンダリングするJavaScript多用サイトや、ブラウザレベルのインタラクション(クリック、スクロール、フォーム送信)が必要なサイトには、実際のブラウザエンジンが必要です。2026年の主なオプション:
- Playwright: 現在の業界標準。Chromium、Firefox、WebKitをサポート。Puppeteerよりも優れたステルス機能を標準で備えています。
- Puppeteer: Chrome/Chromiumの自動化で依然として広く使用されています。検出回避には追加のステルスプラグインが必要です。
- Camoufox: スクレイピング専用に設計されたアンチ検出Firefoxブラウザ。フィンガープリントマスキングを自動的に処理します。
重要: ヘッドレスブラウザはHTTPベースのスクレイピングより10-50倍遅くなります。ターゲットがJavaScriptレンダリングやブラウザインタラクションを必要とする場合にのみ使用してください。APIエンドポイントやサーバーレンダリングページには、HTTPリクエストを使い続けてください - より速く、リソース消費も少なくなります。
7. CAPTCHAを効率的に解決する
完璧なプロキシとブラウザエミュレーションがあっても、一部のサイトはCAPTCHAを表示します。2026年に遭遇する主なCAPTCHAタイプは:
- Cloudflare Turnstile: 現在最も一般的。バックグラウンドで不可視のチャレンジを実行し、トークンを発行します。適切なTLSフィンガープリンティングとレジデンシャルIPがあれば、バイパスできることが多いです。
- reCAPTCHA v3: 行動に基づいて「人間らしさ」を0から1でスコアリングします。高品質なレジデンシャルプロキシとリアルなブラウザフィンガープリントの組み合わせで、一貫してブロック閾値を超えるスコアを獲得できます。
- hCaptcha: 画像ベースのチャレンジ。回避できない場合は、CAPTCHA解決サービス(2Captcha、CapMonster、またはAIベースのソルバー)を使用してパイプラインで処理してください。
最良の戦略は、高品質なプロキシとリアルなフィンガープリントを使用してCAPTCHAを完全に回避することです。解決はフォールバックであるべきで、主要なアプローチではありません - リクエストごとにレイテンシーとコストが追加されます。
8. モニタリングと適応
アンチBotシステムは常に進化しています。今日機能するものが来月には失敗するかもしれません。スクレイピングパイプラインにモニタリングを組み込みましょう:
- ターゲットサイトごとの成功率を追跡する。 95%を下回ったら、何かが変わっています - スケールアップする前に調査してください。
- ブロックタイプを記録する。 403(IPブロック)、CAPTCHA(フィンガープリントが不審)、空白ページ(JavaScriptチャレンジ失敗)のどれですか?それぞれ異なる修正が必要です。
- プロキシだけでなく戦略もローテーションする。 サイトがあなたのアプローチをブロックし始めたら、HTTPリクエストからヘッドレスブラウザ(またはその逆)に切り替えることでアクセスを復元できます。
- 設定をA/Bテストする。 同じターゲットに対して異なるプロキシタイプ、ローテーション速度、遅延パターンを試して、最適なセットアップを見つけてください。
9. 適切なプロキシプロバイダーを使用する
上記のすべてのテクニックは、1つの基盤に依存しています - プロキシインフラの品質です。プレミアムプロキシプロバイダーと安価なプロバイダーの違いは、99%の成功率と絶え間ないブロックの違いです。以下のポイントを確認してください:
- 実際のISP登録IP -「レジデンシャル」として販売されているラベル変更されたデータセンターIPではないこと
- 大規模で多様なIPプール - 多くのサブネットとASNにわたる数百万のIP
- ジオターゲティング - 正確なローカルスクレイピングのための国・都市レベルのターゲティング
- フレッシュなIP - ターゲットサイトでバーンされていないIPで定期的にリフレッシュされるプール
- 信頼性の高いインフラ - 安定した低レイテンシーで99.9%以上のアップタイム
Murphyでは、大規模ローテーション向けのレジデンシャルプロキシ(190以上の国にわたる2,500万以上のIP、都市レベルのターゲティング対応)と、セッションベースのスクレイピング向けのISPプロキシ(固定IP、無制限帯域幅、実際のISPの信頼性)の両方を提供しています。すべてのIPはTier-1 ISPから直接調達し、デプロイ前にテストし、2026年の最も厳しいアンチBotシステムに対して99%以上の成功率を実現するよう設計されています。
スクレイピング対象のサイトは防御を強化し続けます。プロキシインフラがそれに対応できるよう準備しておきましょう。