ホームページ >バックエンド開発 >Python チュートリアル >Python クローラーの動作原理の分析
1. クローラーの仕組み
ウェブ クローラー、またはウェブ スパイダーは非常に鮮やかな名前です。インターネットを蜘蛛の巣に例えると、蜘蛛は巣の上を這っている蜘蛛です。 Web スパイダーは、リンク アドレスを通じて Web ページを検索します。 Web サイトの特定のページ (通常はホームページ) から開始して、Web ページのコンテンツを読み、Web ページ内の他のリンク アドレスを見つけ、次にこれらのリンク アドレスを通じて次の Web ページを見つけます。このサイクルは、この Web サイトのすべての Web ページが表示されるまで続きます。取得が完了するまでは含まれます。インターネット全体が Web サイトとみなされる場合、Web スパイダーはこの原理を使用して、インターネット上のすべての Web ページをクロールできます。このように、Web クローラーはクローラー、Web ページを巡回するプログラムです。 Web クローラーの基本的な操作は、Web ページをクロールすることです。では、どうすれば希望通りのページを取得できるでしょうか? URLから始めましょう。
Web ページをクロールするプロセスは、読者が通常 IE ブラウザを使用して Web ページを閲覧する場合と実際には同じです。たとえば、ブラウザのアドレス バーにアドレス www.baidu.com を入力します。 Web ページを開くプロセスは、実際にはブラウザが閲覧「クライアント」としてサーバーにリクエストを送信し、サーバー側のファイルをローカルで「取得」し、それらを解釈して表示するというものです。 HTML は、タグを使用してコンテンツをマークし、解析して区別するマークアップ言語です。ブラウザの機能は、取得した HTML コードを解析し、元のコードを直接表示される Web サイトのページに変換することです。
簡単に言うと、URL はブラウザに入力された文字列 http://www.baidu.com です。 URL を理解する前に、まず URI の概念を理解する必要があります。
URIとは何ですか?
HTML ドキュメント、画像、ビデオ クリップ、プログラムなど、Web 上で利用可能なすべてのリソースは、Universal Resource Identifier (URI) によって検索されます。
URI は通常、次の 3 つの部分で構成されます:
リソースにアクセスするための命名メカニズム、
リソースが保存されているホスト名、
パスで表されるリソース自体の名前。
次の URI など: http://www.why.com.cn/myhtml/html1223/
これは、ホスト www.webmonkey.com にある
HTTP プロトコルを通じてアクセスできるリソースです。 .cn、
パス「/html/html40」を通じてアクセスします。
2. URL の理解と例
URL は URI のサブセットです。 Uniform Resource Locatorの略で、「統一リソースロケーター」と訳されます。平たく言えば、URL はインターネット上の情報リソースを記述する文字列であり、主にさまざまな WWW クライアント プログラムやサーバー プログラムで使用されます。 URL を使用すると、ファイル、サーバー アドレス、ディレクトリなどのさまざまな情報リソースを統一された形式で記述することができます。 URL の一般的な形式は次のとおりです (角括弧 [] が付いているものはオプションです):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
URL の形式は次のようになります。 3 つの部分:
最初の部分は契約 (またはサービス方法) です。
2 番目の部分は、リソースが保存されているホストの IP アドレスです (ポート番号を含む場合もあります)。
3 番目の部分は、ディレクトリやファイル名などのホスト リソースの特定のアドレスです。
前半と後半は「://」記号で区切られ、後半と後半は「/」記号で区切られています。第 1 部と第 2 部は必須ですが、第 3 部は省略できる場合もあります。
3. URL と URI の単純な比較
URI は、URL の下位レベルの抽象化であり、文字列テキストの標準です。つまり、URI は親クラスに属し、URL は URI のサブクラスに属します。 URL は URI のサブセットです。 URI の定義は次のとおりです。Uniform Resource Identifier。URL の定義は次のとおりです。Uniform Resource Locator。 2 つの違いは、URI がリクエスト サーバーへのパスを表し、そのようなリソースを定義することです。 URL には、リソースへのアクセス方法 (http://) も記載されています。
URL の小さな例を 2 つ見てみましょう。
1. HTTP プロトコルの URL の例:
ハイパーテキスト転送プロトコル HTTP を使用して、ハイパーテキスト情報サービスのリソースを提供します。
例: http://www.peopledaily.com.cn/channel/welcome.htm
コンピューターのドメイン名は www.peopledaily.com.cn です。
ハイパーテキスト ファイル (ファイル タイプは .html) は、/channel ディレクトリ内の welcome.htm です。
これは中国人民日報のコンピューターです。
例: http://www.rol.cn.NET/talk/talk1.htm
コンピュータのドメイン名は www.rol.cn.Net です。
ハイパーテキスト ファイル (ファイル タイプは .html) は、/talk ディレクトリ内の talk1.htm です。
赤いチャットルームのアドレスです。ここから赤いチャットルームの最初の部屋に入ることができます。
2.ファイル URL
URL を使用してファイルを表す場合、サーバー モードはファイルで表され、その後にホスト IP アドレス、ファイル アクセス パス (つまり、ディレクトリ)、ファイル名、その他の情報が続きます。
ディレクトリ名やファイル名は省略できる場合もありますが、「/」記号は省略できません。
例: file://ftp.yoyodyne.com/pub/files/foobar.txt
上記の URL は、ホスト ftp.yoyodyne.com の pub/files/ ディレクトリに保存されているファイルを表します。 foobar.txt。
例: file://ftp.yoyodyne.com/pub
は、ホスト ftp.yoyodyne.com 上のディレクトリ /pub を表します。
例: file://ftp.yoyodyne.com/
は、ホスト ftp.yoyodyne.com のルート ディレクトリを表します。
クローラーの主な処理オブジェクトは URL であり、URL アドレスに基づいて必要なファイルのコンテンツを取得し、それをさらに処理します。
したがって、Web クローラーを理解するには、URL を正確に理解することが重要です。
以上がこの記事の内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。また、PHP中国語ウェブサイトも応援したいと思っています。
Python クローラーの動作原理の分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。