ソフトウェアがサーバーに自己紹介する仕組みを疑問に思ったことはありませんか? ヘッダーは、HTTP リクエストを行うクライアントに関する重要な詳細を明らかにするデジタル ID です。これから学習するように、スクレイピングにはユーザー エージェントを設定することが必須です。 User-Agent この記事では、ユーザー エージェントとは何か、それが Web スクレイピングにとってなぜ重要なのか、そしてそれをローテーションすることで検出を回避するのにどのように役立つのかを説明します。準備はできましたか? さあ、始めましょう! ユーザーエージェントとは何ですか? HTTP リクエストを行う際にアプリケーションやライブラリによって自動的に設定される です。このヘッダーには、アプリケーション、オペレーティング システム、ベンダー、およびリクエストを行っているソフトウェアのバージョンに関する情報を示す文字列が含まれています。 User-Agent 一般的な HTTP ヘッダー この文字列は、 または とも呼ばれます。しかし、なぜ「User-Agent」という名前なのでしょうか? 簡単です! IT 用語では、 とは、ユーザーに代わって Web リクエストを行うプログラム、ライブラリ、またはツールのことです。 ユーザー エージェント UA ユーザー エージェント ユーザーエージェント文字列の詳細 現在 Chrome によって設定されている UA 文字列は次のようになります。 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 この文字列に戸惑っているのはあなただけではありません。なぜ Chrome ユーザーエージェントに「Mozilla」や「Safari」といった単語が含まれているのでしょうか? 🤯 まあ、これには少し歴史がありますが、正直なところ、 のようなオープンソース プロジェクトに頼る方が簡単です。そこにユーザー エージェントを貼り付けるだけで、疑問に思っていたすべての説明が表示されます。 UserAgentString.com すべてが理解できましたか? ✅ ユーザーエージェントヘッダーの役割 ユーザー エージェントは、あなた (クライアント) が空港 (サーバー) で提示するパスポートのようなものだと考えてください。パスポートが係員にあなたの出身地を伝え、入国を許可するかどうかの判断に役立つのと同じように、ユーザー エージェントはサイトに「こんにちは、私は Windows 版 Chrome、バージョン XYZ です」と伝えます。この短い自己紹介によって、サーバーはリクエストを処理する方法と、処理するかどうかを判断できます。 パスポートには名前、生年月日、出生地などの個人情報が保存されていますが、ユーザーエージェントはリクエスト環境に関する詳細情報を提供します。すばらしいですね。でも、どんな情報ですか?🤔 まあ、それはすべてリクエストの発信元によって異なります: ここでの ヘッダーは、ブラウザ名、オペレーティング システム、アーキテクチャ、場合によってはデバイスの詳細までが詰め込まれた詳細な書類のようなものです。 ブラウザ: User-Agent 基本情報、ライブラリ名、場合によってはバージョンのみを提供します。 HTTP クライアント ライブラリまたはデスクトップ アプリケーション: User-Agent Web スクレイピングにおいてユーザーエージェントの設定が重要な理由 ほとんどのサイトでは、Web ページとデータを保護するために 導入されています。🛡️ 、ボット対策およびスクレイピング対策システムが これらの保護テクノロジーは、受信 HTTP リクエストを注意深く監視し、不一致やボットのようなパターンを嗅ぎ分けます。不一致が見つかった場合は、ためらうことなくリクエストをブロックし、悪意のある犯人の IP アドレスをブラックリストに登録することもあります。 、これらのボット対策システムが綿密に精査する HTTP ヘッダーの 1 つです。結局のところ、そのヘッダー内の文字列は、よく知られているユーザー エージェント文字列を持つ本物のブラウザーからのリクエストかどうかをサーバーが理解するのに役立ちます。User の 1 つであることは不思議ではありません。🕵️♂️ User-Agent User-Agent Web スクレイピングにとって最も重要な HTTP ヘッダー ブロックを回避するための回避策は? を発見! ユーザー エージェントのスプーフィング 偽の UA 文字列を設定すると、自動スクレイピング リクエストが通常のブラウザで人間のユーザーから送信されたかのように見せることができます。この手法は、セキュリティを通過するために偽の ID を提示するようなものです。 単なる HTTP ヘッダーであることを忘れないでください。したがって、任意の値を指定できます。Web スクレイピング用にユーザー エージェントを変更するのは、検出を回避して標準ブラウザーとして溶け込むのに役立つ古いトリックです。🥷 User-Agent 一般的な HTTP クライアントやブラウザ自動化ライブラリでユーザー エージェントを設定する方法を知りたいですか? 次のガイドに従ってください: cURL ユーザーエージェントガイド: 設定と変更 Python リクエスト ユーザーエージェント ガイド: 設定と変更 Selenium ユーザーエージェントガイド: 設定と変更 Node.js ユーザーエージェントガイド: 設定と変更 Postman ユーザーエージェントガイド: 設定と変更 インターネットスクレイピングに最適なユーザーエージェント Web スクレイピングに関して、ユーザー エージェントの王者は誰でしょうか? 👑 まあ、正確には君主制ではなく、むしろ寡頭制です。他のユーザー エージェントより頭一つ抜きん出ている単一のユーザー エージェントはありません。実際、最新のブラウザーやデバイスの UA 文字列であればどれでも問題ありません。つまり、スクレイピングに「最適な」ユーザー エージェントは実際には存在しません。 macOS および Windows システム上の Chrome、Firefox、Safari、Opera、Edge などの人気ブラウザの最新バージョンのユーザー エージェントは、いずれも確実な選択肢です。Android および iOS デバイス上の Chrome および Safari モバイルの最新バージョンの UA も同様です。 以下はスクレイピング用のユーザー エージェントの厳選リストです。 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/127.0.6533.107 Mobile/15E148 Safari/604.1 Mozilla/5.0 (Macintosh; Intel Mac OS X 14.6; rv:129.0) Gecko/20100101 Firefox/129.0 Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15 Mozilla/5.0 (Macintosh; Intel Mac OS X 14_6_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 OPR/112.0.0.0 Mozilla/5.0 (iPhone; CPU iPhone OS 17_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1 Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.103 Mobile Safari/537.36 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.98 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 OPR/112.0.0.0 もちろん、これは氷山の一角に過ぎず、リストはまだまだ続きます。スクレイピング用の包括的かつ最新のユーザー エージェントのリストについては、 や などのサイトをご覧ください。 WhatIsMyBrowser.com Useragents.me 詳細については、 に関するガイドをご覧ください。 Web スクレイピングのユーザー エージェント ユーザーエージェントローテーションで禁止を回避する では、HTTP クライアント ライブラリのデフォルトの ブラウザーのものと交換するだけで、アンチボット システムを回避できるのではないかと考えているのでしょうか? まあ、そうではありません... User-Agent 同じ と同じ IP からのリクエストでサーバーをあふれさせていると、基本的には「私を見てください、私はボットです!」という旗を振っていることになります。🤖 User-Agent ゲームを強化して、ボット対策が効かないようにするには、さまざまなものを混ぜる必要があります。そこで、 が役立ちます。静的な実際の 使用する代わりに、リクエストごとに切り替えます。 ユーザー エージェントのローテーション User-Agent この手法により、リクエストが通常のトラフィックにうまく溶け込み、自動リクエストとしてフラグ付けされることを回避できます。 ユーザー エージェントをローテーションする方法の概要は次のとおりです。 : さまざまなブラウザーやデバイスから UA 文字列のセットを収集します。 ユーザー エージェントのリストを収集する : リストからユーザーエージェント文字列をランダムに選択する簡単なロジックを記述します。 ランダムなユーザーエージェントを抽出する : HTTP クライアントの ヘッダーにランダムに選択されたユーザー エージェント文字列を設定します。 クライアントを構成する User-Agent さて、ユーザーエージェントのリストを最新の状態に保つことが心配だったり、ローテーションを実装する方法がわからなかったり、高度なボット対策ソリューションによってブロックされるのではないかと心配したりしていませんか?😩 これらは正当な懸念です。特に、ユーザー エージェントのローテーションはボット検出の回避の表面的な部分に過ぎないからです。 Bright Data の で心配を解消しましょう! Web Unlocker https://www.youtube.com/watch?v=1SRJVBBUpk8&embedable=true この AI 搭載の Web サイト ロック解除 API は、ユーザー エージェントのローテーション、ブラウザー フィンガープリンティング、CAPTCHA の解決、IP ローテーション、再試行、さらには JavaScript レンダリングまで、すべてを処理します。 最後に ヘッダーは、HTTP リクエストを行うソフトウェアとシステムに関する詳細を明らかにします。これで、Web スクレイピングに最適なユーザー エージェントと、それをローテーションすることがなぜ重要であるかがわかりました。しかし、現実を直視しましょう。ユーザー エージェントのローテーションだけでは、高度なボット保護には十分ではありません。 User-Agent 二度とブロックされたくないですか? の Web Unlocker を導入して、自動化されたスクリプトを通じてでも、インターネットを誰もがどこからでもアクセスできる公共スペースにするという当社の使命にご参加ください。 Bright Data 次回まで、自由にウェブを探索し続けてください。