コンテンツにスキップ

価格スクレイピングの最も一般的なユーザー エージェント

やあ、友達! 価格スクレイピングを始めてみませんか? 経験豊富な Web スクレイピングのプロとして、お客様の成功に役立つ内部知識を共有できることを嬉しく思います。 スクレイピング プロジェクトで最も難しい部分の XNUMX つは、ユーザー エージェントを正しく構成することです。

ユーザー エージェントは最初はわかりにくいように思えるかもしれませんが、ユーザー エージェントとは何なのか、疑問に思っているかもしれません。 それらが何であるか、そして価格スクレイピングにとってなぜそれほど重要なのかを説明しましょう。

ユーザーエージェントとは何ですか?

ブラウザが Web サイトにリクエストを送信するときは常に、ユーザー エージェントと呼ばれる短いテキストが含まれます。 これにより、使用しているブラウザとオペレーティング システムの詳細が特定されます。 Windows 10 上の Chrome のユーザー エージェント文字列の例を次に示します。

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

ご覧のとおり、ブラウザ名 (Chrome)、バージョン番号 (74.0.3729.169)、プラットフォーム情報 (Windows NT 10.0)、およびレイアウト エンジン (WebKit/Blink) が含まれています。

ユーザー エージェントは、Web サイトがコンテンツをさまざまなブラウザーやデバイスに適応できるようにするために、これらすべての情報を提供します。 たとえば、サイトはラップトップ上の完全なデスクトップ サイトではなく、軽量でモバイルに最適化されたページを携帯電話に提供する場合があります。

ユーザーエージェントの簡単な歴史

ブラウザーには、Web の初期の頃からユーザー エージェント文字列が組み込まれていました。 National Center for Supercomputing Applications (NCSA) で作成された Mosaic と呼ばれる最初のブラウザには、次のような単純なユーザー エージェントがありました。

NCSA_Mosaic/2.0 (Windows 3.1)

1994 年に Netscape Navigator が登場すると、ブラウザ戦争が始まりました。 企業は、最高の機能を備えた、最も標準と互換性のあるブラウザを作成するために競い合いました。 より詳細なユーザー エージェント文字列は、Web サイトがさまざまなブラウザーを検出するのに役立ちました。

Internet Explorer と Firefox は 2000 年代まで戦争を続けました。 ユーザー エージェントは独自のテクノロジーを強調して、サイトを自社向けに最適化しようとしました。 現在では Chrome が優勢ですが、ユーザー エージェントも生き続けています。

スクレイピング用のユーザーエージェントの変更

では、ユーザーエージェントはWebスクレイピングにどのように適合するのでしょうか? サイトでは、疑わしいユーザー エージェントに基づいてスクレイパーやボットをブロックすることがよくあります。 一般的なスクレイピング ツールには次のようなユーザー エージェントが含まれる場合があります。

ScraperBot/3.0

これにより、サイトは簡単に識別してブロックできます。 だからこそ、スクレイピングの際に実際のブラウザーのユーザーエージェントを偽装する必要があるのです。

User-Agent Switcher などのブラウザ拡張機能を使用すると、さまざまなユーザー エージェントを簡単にテストできます。 Oxylabs などのプロキシ ツールを使用すると、モバイル、デスクトップ、およびカスタマイズされたユーザー エージェントを使用して住宅用プロキシを構成することもできます。

最も一般的な実際のブラウザ ユーザー エージェント間をローテーションすることが、スクレイパーを成功させる鍵となります。 どのユーザー エージェントが表示される可能性があるかについて話しましょう。

最も一般的なデスクトップ ユーザー エージェント

現在のデスクトップ ブラウザの状況は、Chromium エンジンを使用するブラウザ (Chrome、Edge、Brave、Opera など) によって支配されています。 最新のユーザー エージェントの一部を以下に示します。

Chrome: 
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36

Edge:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54

Opera:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 OPR/94.0.0.0

Firefox は、依然として重要な使用が見られる主要な代替ブラウザ エンジンです。

Firefox:  
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
ブラウザ市場占有率エンジン
クロム65.4%ブリンク (クロム)
Safari18.7%WebKitの
Firefoxの7.2%ヤモリ
エッジ(Edge)4.2%ブリンク (クロム)

ご覧のとおり、今日では Chromium エンジンがデスクトップ ブラウジングの主流となっています。

最も一般的なモバイル ユーザー エージェント

モバイル ブラウジングは、Apple の iOS プラットフォームと Google の Android プラットフォームが主流です。 ユーザー エージェントの例を次に示します。

iOS:

Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1

Android:

Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36

Android の市場シェアは、バージョン リリースごとにさらに細分化されています。

コード名市場占有率
12スノーコーン26.5%
11レッドベルベットケーキ24.2%
10マルメロのタルト22.9%

これにより、スクレイピングのために模倣する主なモバイル ユーザー エージェントのアイデアが得られます。

価格スクレイピングにとってユーザーエージェントが重要な理由

価格スクレイピングでは多くの場合、大量のトラフィックが必要となり、ブロックされる可能性が高くなります。 電子商取引サイトは、競合他社から価格データを盗むスクレーパーを積極的に検出しようとします。

価格をスクレイピングする際のブロックを回避するには、常に変化する本物のユーザー エージェントを使用することが重要です。 これは、スクレイパーがボットではなく実際のブラウザーアクティビティを装うのに役立ちます。

もう XNUMX つの素晴らしいヒント – 一部のサイトでは、モバイル ユーザー エージェントにモバイル アプリでのみ利用できる特別割引価格を提供している場合があります。 したがって、モバイル ユーザー エージェントを活用すると、より適切な価格データを取得できる可能性があります。

新しいユーザー エージェントを継続的にテストする

サイトはボット検出ルールを常に更新しているため、スクレイパーで新しいユーザー エージェントを継続的にテストする必要があります。 私は、規模を拡大する前に、新しいエージェントがブロックされるかどうかを確認するために、少量のテスト ボリュームから開始することを好みます。 これにより、トラフィックの無駄が防止されます。

Oxylabs のようなプロキシ ツールは、関連するユーザー エージェントを備えた数千の住宅用 IP を提供することでテストを容易にします。 スクレープごとに新しいランダム サンプルを選択するだけです。

ベスト プラクティスは、更新された本物のユーザー エージェントを常に多様にローテーションしてすぐに使用できるようにすることです。 このいたちごっこは、私たち Web スクレーパーの仕事の一部にすぎません。

これらのユーザー エージェントのヒントが、価格スクレイピングの冒険に役立つことを願っています。 他にご質問がございましたら、お知らせください。

会話に加わります

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