データセットを構築する優れた方法の 1 つは、Web をスクレイピングすることです。これは、Common Crawl や公式 API などのソースがプロジェクトの要件を満たしていない場合 (たとえば、データが十分に最新ではない場合や Twitter が価格を設定している場合など) に特に重要になります。ただし、Web スクレイピングにはCAPTCHAや地域制限などの独自の課題が伴います。ここで私たちのヒーロー、つまりプロキシが登場します。
プロキシ サーバーは、それ自体を介して Web にアクセスできるようにする別のコンピューター (サーバー、電話、または IoT デバイス) です。このようにして、必要に応じて別の場所から新しい IP アドレスを取得します。プロキシは VPN によく似ています。違いは、1 つまたは 2 つの接続ではなく、一度に多数の接続を使用できることです。
Web サイトが自動アクセスを防ぐためにレート制限やより高度な制限を実装するにつれて、プロキシ サーバーの必要性がますます高まっています。正当な理由がある場合もありますが、多くの場合、商業的利益を保護したり、データを独占したりするためです。プロキシがすべての問題を解決するわけではありません。ただし、現実的なユーザー エージェントの使用などの基本的な衛生管理を除けば、Web スクレイパーを実行し続けるための最も効果的な方法です。
このガイドは、Web スクレイピングのコンテキストにおけるプロキシ サーバーについて深く理解するのに役立ちます。これには、年次プロキシ市場調査のために収集したいくつかの実践的なデータとともに理論的な知識が含まれています。
Web スクレイパー (人々) がプロキシの必要性に遭遇すると、最初に無料のプロキシ リストを試してみることになります。これらのリストはオンラインで公開されています。それらのプロキシのほとんどは、脆弱なサーバーまたは不適切に管理されたサーバーからのものです。
無料のプロキシ リストの大きな問題の 1 つは、誰がリストを実行しているのか分からないことです。オペレーターは悪意を持っている可能性があり、それが広告挿入、トラフィック記録、その他の厄介な行為に現れる可能性があります。これは恐ろしいように聞こえますが、データ サイエンティストとしては大きな影響を与える可能性は低いです。オペレーティング システム レベルでプロキシを構成したり、銀行口座へのアクセスにプロキシを使用したりすることはおそらくないでしょう。
もっと退屈な (現実的ではありますが) 問題は、無料のプロキシはまったく信頼できないということです。
彼らはオンラインに長時間留まることがほとんどありません。実際に実行されるものは、何百ものテナントがあるため、耐えられないほど遅いです。そして、何百ものテナントを抱えているため、このようなプロキシは、関連する Web サイトをすぐに攻撃してしまいます。作業するにはあまり優れたツールではありません。
このため、商用プロキシ サービスの料金を支払うことを強くお勧めします。
プロキシ サーバーは、ほとんどの場合、IP ソースによって分類されます。 Web スクレイピングの目的では、データセンター、住宅、または ISP (静的住宅とも呼ばれる) プロキシの 3 つのタイプから選択することになるでしょう。
これらのプロキシは、データ センターのサーバーでホストされます。これらは、Amazon Cloud Services (AWS) のインスタンスであることも、他のクラウド ホスティング プロバイダーからのものであることもできます。 IP データベースは、データセンター プロキシをホスティングまたはデータセンター範囲に属するものとして認識します。
データセンター プロキシは通常、強力なハードウェアとインターネット接続上で実行されるため、大量のデータを高速に収集できます。これらは、IP レピュテーションを監視しないが、監視する Web サイトに苦戦するターゲットにとっては非常に効率的な選択肢となります。
これらのプロキシは、実際の人々の住宅用デバイスから取得されます (それが名前の由来です)。たとえば、Windows ラップトップ、Android スマートフォン、または Wi-Fi 上のスマート冷蔵庫上で実行できます。 IP データベースは、住宅用プロキシを固定電話接続またはモバイル接続として分類します。
住宅用プロキシは常に、世界中からのアドレスの大規模なプールに含まれます。これらはホスト デバイスの接続品質と可用性に依存するため、データセンター IP よりも予測しにくくなります。ただし、この機能により、住宅用プロキシは通常の訪問者のように見えるため、あらゆる種類の Web サイトで非常に効果的になります。
これらのプロキシはデータ センターのサーバーでホストされていますが、 Verizon などの消費者向けインターネット サービス プロバイダーの下で登録されています。これは、ISP と契約を結び、ISP にネットワーク上の IP をアナウンスさせることで実現されます。理想的には、IP データベースはそのようなプロキシを固定電話接続またはモバイル接続として識別する必要があります。ただし、地域の小規模な ISP が依然としてデータ センターとして分類される場合もあります。
ISP プロキシはデータセンター プロキシの品質を保持していますが、IP レピュテーションが向上しているため、より効果的にスクレイピングできます。
この時点で、あなたはこう思うかもしれません。アンドロイド携帯?ひどくボットネットのようですね!それは合法でもありますか?これは良い質問であり、あなたが気にかけていることを示しています。多くの人はそうではありません。
実際のところ、商用プロキシ サーバーとボットネットの間には紙一重の境界線があります。これは、サプライ チェーンがほぼ明確なデータセンター プロキシにはあまり当てはまりません。クラウド ホストが IP を購入し、サーバー上に置き、そのアドレスをプロキシ プロバイダーにレンタルします。しかし、倫理の問題は住宅用プロキシ ネットワークに非常に関係します。
このトピックについてはあまり深く掘り下げずに、住宅用プロキシはいくつかの方法で調達できます。最も一般的な方法は、デスクトップ アプリケーションとモバイル アプリケーションの SDK を使用する方法です。このビデオでは、それがどのようなものであるかを具体的な例で示します。
もう 1 つの方法は、サービス (無料 VPN など、BrightVPN を参照) またはお金 (Honeygain などの帯域幅共有アプリを使用) とトラフィックを直接交換することです。
いずれの場合も、IP ソースがその取り決めを認識し、それに同意していることを確認する責任はプロキシ プロバイダーにあります。プロキシ ソーシングと使用方法に関する情報は、プロバイダーの Web サイトで見つけることができます。これにより、ボットネットが使用される可能性が大幅に減少します。
プロキシ サーバーは、テナントとローテーションに基づいて異なる構成を持つ場合があります。
最初の基準は、同じプロキシ サーバーを同時に使用できる人数を示します。すべての無料プロキシ リストには数百のテナントが含まれる可能性がありますが、商用プロキシ プロバイダーには制限が課されます。市場用語では、共有または半共有とは、他の数人 (多くの場合 1 ~ 4 人) と同じプロキシ サーバーを使用することを意味します。プライベートまたは専用とは、すべてまたは特定のドメインに対してユーザーだけがプロキシを使用することを意味します。
プロバイダーが完全な所有権を持っているため、テナントを選択できる機能はデータセンターと ISP プロキシの機能です。住宅用プロキシでは利用できませんが、関連性も低くなります。住宅用ユーザーはより自然なブラウジング パターンを持ち、Web サイトにリクエストで過負荷になる可能性が低くなります。
2 番目の基準であるローテーションは、プロキシ サーバーが自動的に切り替わるかどうかを示します。 IP:Port (1) の形式のプロキシ リストには含まれないことがほとんどです。 endpoint:port (2) の形式を取るものは次のとおりです。
192.168.0.1:10000
en.proxyprovider.net:10000
エンドポイントは、プロバイダーのプロキシ プールへのゲートウェイとして機能します。バックエンドのさまざまなアドレスを通じてリクエストを自動的にルーティングします。 IP アドレスが変わっても、エンドポイントは変わりません。
ローテーション プロキシは、事実上無限の IP (数千から数百万) にアクセスできるため、Web スクレイピングに非常に便利です。ただし、このようなサービスはトラフィック消費に対して課金することが多く、静的プロキシ リストは無制限のトラフィックを提供する傾向があります。
さまざまな特性に基づいて、説明したプロキシ タイプを比較してみましょう。
ローテーション プロキシ ネットワークの場合、住宅用プロキシのコストはデータセンター アドレスの約 8 ~ 10 倍ですが、ローテーション ISP プロキシ ネットワークよりは若干安くなります。
静的プロキシ ネットワークは通常、IP アドレスごとに料金がかかります。 ISP プロキシと比較して、データセンター プロキシ サーバーのコストは購入金額に応じて 2 ~ 3 分の 1 です。
予測不可能なエンドユーザー デバイスを介してトラフィックをルーティングするにもかかわらず、主要な住宅用プロキシ ネットワークは非常にうまく機能します。 Web スクレイピングの目的 (接続リクエストごとに IP がローテーションする場合) では、データセンター プロキシとほぼ同様にデータを転送します。
レイテンシーにも大きな違いは見られませんでした。以下は、グローバル CDN (応答サイズは数キロバイト) および Amazon (応答サイズは約 1 MB) の最も近いサーバーに対して行われたリクエストの応答時間です。
データセンターと ISP プロキシが支配的な領域の 1 つはスループットです。データ転送用の幅の広いパイプがあります。一部の住宅用プロキシは非常に高速ですが、1 Mbps に達しないサーバーも同様に発生します。予測可能性ははるかに低くなります。
データセンターと ISP プロキシはほぼ 24 時間年中無休で稼動し、停止またはメンテナンスが発生した場合にのみオフラインになります。住宅用プロキシの稼働時間は、Windows デバイスからのものか Android デバイスからのものかなど、さまざまな要因によって異なります。いずれの場合も、サーバーベースのプロキシと比較すると、はるかに短く、信頼性が低くなります。
私たちは、住宅 IP アドレスがどのくらいの頻度で変更されるかを確認するために、20 秒ごとに IP データベースに ping を送信するスクリプトを作成しました。いくつかの結果を次に示します。
データセンター プロキシは、Google やソーシャル メディアなどの保護された Web サイトや人気の高い Web サイトに対して苦戦します。これは、使用履歴がよりクリーンな専用 IP を選択することである程度軽減できます。
場合によっては、データセンターの IP 範囲からの接続だけで Web サイトにアクセスできないことがあります。そのような場合、唯一の手段は、別のプロキシ タイプを使用することです。
ISP プロキシはデフォルトでより優れた IP 評価を持っているため、最初の精査は少なくなります。ただし、実際の居住地の住所に比べて、閲覧パターンが現実的ではありません。住宅用プロキシ サーバーは大規模なプールを形成し、非常に多様であり、閲覧履歴を実際の人々と共有します。これらの性質により、Web サイトの幅広いユーザーと区別することが非常に困難になります。
データセンターと ISP プロキシはデータセンターでホストされており、利用可能なデータセンターの数は限られています。最も頻繁に使用される場所はおそらくアッシュバーンですが、大手プロバイダーは数十カ国のデータセンター IP を取得できます。ただし、小規模なロケール、特に首都以外の都市の住所が必要な場合は、運が悪いでしょう。
住宅用プロキシにはそのような制限はありません。デバイスと意欲的な参加者がいる限り、どこからでも誰でも参加できます。その結果、大手プロバイダーは、都市、ASN、さらには郵便番号をターゲティングして、すべての国に IP を提供できます。
主要なプロキシ プロバイダーに対する当社の調査によると、ほとんどのプロバイダーが最も人気のある製品として住宅用プロキシを選択しました。データセンター プロキシ サーバーを指定したプロバイダーは 2 つだけで、ISP プロキシはありませんでした。
Amazon、Google、LinkedIn などの主要なターゲットがセキュリティ システムを強化したため、データセンター プロキシは近年減少傾向にあります。 ISP プロキシにはそれに代わる能力がありますが、調達の問題によって普及が妨げられています。評判の良い ISP を採用するのは難しいのです。
しかし、理論的には十分です。この知識をプロジェクトにどのように適用できますか?プロキシ サーバーの提案を使用して複数のシナリオをモデル化しました。
この記事に商業的利益が含まれないようにするために、特定のプロバイダーについては言及しません。いくつかの推奨事項が必要な場合は、当社の Web サイトで主要なプロバイダーを比較しています (免責事項: 当社はこれらの企業のほとんどと提携関係にあります。ただし、これは当社の市場レポートには影響しません)。
例:マイナーなニュース ポータル、電子商取引 Web サイト、さらには Google 以外の検索エンジンをスクレイピングします。
推奨事項:データセンター プロキシをローテーションする。 0.7 ドル/GB 以下で、2,000 ~ 100,000 個の循環 IP のプールにアクセスできます。ブロックされた IP の置き換えについて心配する必要はなく、トラフィックのコストは本格的なデータ抽出には十分に低いです。
例:ストリーミング サービスからビデオをダウンロードしたり、アーカイブ目的で画像アグリゲーターから写真をダウンロードしたりする。
推奨事項:静的データセンターまたは ISP プロキシ。高速であり、トラフィックの消費は考慮されません。 Web サイトで許可されている場合はデータセンター プロキシを使用し、そうでない場合は ISP プロキシを使用します。
例:ウェブ全体でブランドに関する言及を検索します。
推奨事項:静的データセンターまたは ISP プロキシ。クロールには大量のデータが必要なため、トラフィックを主要な指標として使用しないプロキシ タイプを選択することをお勧めします。また、IP の数が有限であっても、ターゲットを切り替えると、はるかに遠くまで行くことができます。
例: LinkedIn からの求人広告、G2 からの企業情報、またはソーシャル メディア ネットワークからのハッシュタグ付き投稿の抽出。
推奨事項:住宅用プロキシ。 IP の数は実質的に無限であるため、プロキシを禁止する危険はありません。さらに、他のタイプのプロキシと比べて成功率が高くなります。
例:株価の動きの追跡。
推奨事項: Web サイトで許可されている場合はデータセンター プロキシを使用します。それ以外の場合は、ISP プロキシ**.** 接続速度が速いため、表示どおりにデータを抽出できます。
例:ローカライズされた Google クエリの検索エンジン ページの位置を監視します。
推奨事項:都市レベルの IP フィルタリングをサポートする住宅用プロキシ。
この記事では、Web スクレイピングを目的としたプロキシ サーバーについて簡単に説明しました。これを読むと、主なプロキシの種類、構成、およびどの設定がデータ サイエンス プロジェクトに最も利益をもたらすかを区別できるようになります。