Elasticsearch と PHP を使用してリアルタイム Web クローラーを構築する方法

王林
リリース: 2023-07-07 12:50:02
オリジナル
1486 人が閲覧しました

Elasticsearch と PHP を使用してリアルタイム Web クローラーを構築する方法

はじめに:
Web クローラーは、インターネットから情報を収集し、それを整理および分析する自動プログラムです。 Elasticsearch は、高速でリアルタイムの検索および分析機能を提供するオープンソースの検索エンジンです。 PHP は、人気のあるサーバーサイド スクリプト言語です。 Elasticsearch と PHP を組み合わせると、Web サイトからデータを収集し、検索と分析のために Elasticsearch に保存するリアルタイム Web クローラーを構築できます。

ステップ 1: Elasticsearch をインストールして構成する
まず、サーバーに Elasticsearch をインストールして構成する必要があります。 Elasticsearch 公式 Web サイトからオペレーティング システムに適したバージョンをダウンロードし、公式ドキュメントに従ってインストールおよび設定できます。

ステップ 2: Elasticsearch インデックスを設定する
Elasticsearch では、データはインデックスに保存されます。インデックスの構造とフィールドを定義する必要があります。以下は、Web サイトからクロールしたデータを保存するためのインデックス定義の例です。

PUT my_index { "mappings": { "properties": { "title": { "type": "text" }, "content": { "type": "text" }, "url": { "type": "keyword" } } } }
ログイン後にコピー

ここでは、「title」、「content」、「url」の 3 つのフィールドを含む「my_index」という名前のインデックスを定義します。 「タイトル」および「コンテンツ」フィールドは「テキスト」タイプであり、「URL」フィールドは「キーワード」タイプです。ニーズに応じてさらに多くのフィールドを定義できます。

ステップ 3: PHP クローラー コードを作成する
次に、PHP を使用して、指定された Web サイトからデータをクロールし、そのデータを Elasticsearch に保存する単純な Web クローラーを作成します。コード例を次に示します。

(.*?)/', $htmlContent, $titleMatches); preg_match('/(.*?)/', $htmlContent, $contentMatches); // 抓取到的数据 $title = $titleMatches[1]; $content = strip_tags($contentMatches[1]); // 去除HTML标签 // 构建文档 $document = [ 'index' => 'my_index', 'body' => [ 'title' => $title, 'content' => $content, 'url' => $targetUrl ] ]; // 将文档存储到Elasticsearch中 $esClient->index($document); echo "数据已成功存储到Elasticsearch中!"; ?>
ログイン後にコピー

このコードでは、まずクロールするターゲット Web サイトの URL を定義します。次に、Elasticsearch と対話するための Elasticsearch クライアント インスタンスが作成されました。次に、file_get_contents 関数を使用してターゲット Web サイトの HTML コンテンツを取得し、正規表現を使用してタイトルとコンテンツを抽出します。最後に、ドキュメントが構築され、Elasticsearch に保存されます。保存操作にはElasticsearchが提供するインデックス機能を利用します。

ステップ 4: クローラー コードを実行する
上記のコードを PHP ファイルに保存し、サーバーにアップロードします。次に、ターミナルまたはコマンド ラインでファイルを実行して、クローラーの実行を開始します。

$ php crawler.php
ログイン後にコピー

クローラーは、指定された Web サイトからデータをクロールし、Elasticsearch に保存します。

結論:
Elasticsearch と PHP を組み合わせることで、シンプルだが強力なリアルタイム Web クローラーを構築できます。 Elasticsearch の検索および分析機能を使用すると、クロールされたデータを簡単に検索および分析できます。この記事がお役に立てば幸いです。独自のリアルタイム Web クローラーの構築に挑戦してください。

以上がElasticsearch と PHP を使用してリアルタイム Web クローラーを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!