ホームページ >バックエンド開発 >PHPチュートリアル >PHP と phpSpider を使用して Web サイトのコンテンツ全体をクロールするにはどうすればよいですか?
PHP と phpSpider を使用して Web サイトのコンテンツ全体をクロールするにはどうすればよいですか?
現代のインターネット時代では、情報取得の重要性がますます高まっています。大量のデータを必要とする一部のプロジェクトでは、サイト全体のコンテンツ クロールが効果的な方法となっています。長年の開発を経て、phpSpider は強力な PHP クローラー ツールとなり、開発者が Web サイト データをより便利にクロールできるようになりました。この記事では、PHP と phpSpider を使用してサイト全体のコンテンツ クロールを実現する方法と、対応するコード例を紹介します。
1. 事前準備
始める前に、PHP と Composer をインストールする必要があります。
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" php composer-setup.php php -r "unlink('composer-setup.php');"
cd your-project composer init
2. phpSpider をインストールします
プロジェクト ディレクトリで、次のコマンドを実行して phpSpider をインストールします:
composer require phpspider/phpspider
3. コードを記述します
次に、キャプチャの作成を開始できます。スクリプトを取得しました。以下は、特定の Web サイトのサイト全体をクロールする例です。
<?php require 'vendor/autoload.php'; use phpspidercorephpspider; use phpspidercoreselector; $configs = array( 'name' => '全站内容抓取', 'log_show' => true, 'domains' => array( 'example.com' ), 'scan_urls' => array( 'http://www.example.com' ), 'list_url_regexes' => array( "//category/.*/" ), 'content_url_regexes' => array( "//article/d+.html/" ), 'fields' => array( array( 'name' => 'title', 'selector' => "//title", 'required' => true ), array( 'name' => 'content', 'selector' => "//div[@class='content']", 'required' => true ) ) ); $spider = new phpspider($configs); $spider->on_extract_field = function($fieldName, $data) { if ($fieldName == 'content') { $data = strip_tags($data); } return $data; }; $spider->start();
上記のコードでは、最初に phpspider ライブラリを導入し、いくつかのクロール構成を定義しました。構成では、「domains」にはクロールする必要がある Web サイトのドメイン名が含まれ、「scan_urls」にはクロールを開始する開始ページが含まれます。「list_url_regexes」と「content_url_regexes」はそれぞれリスト ページとコンテンツ ページの URL ルールを指定します。 。
次に、キャプチャする必要があるフィールドを定義します。「name」はフィールド名を指定し、「selector」は Web ページ内のフィールドの XPath または CSS セレクターを指定し、「required」はフィールド必要ですか?
フェッチ プロセス中に、$spider->on_extract_field コールバック関数を通じてフェッチされたフィールドを処理できます。上の例では、strip_tags 関数を使用してコンテンツ フィールドの HTML タグを削除しました。
最後に、$spider->start() メソッドを通じてクローラーを開始します。
4. スクリプトを実行します
コマンド ラインでプロジェクト ディレクトリを入力し、次のコマンドを実行して、作成したばかりのクロール スクリプトを実行します。 start 指定した Web サイトのサイト コンテンツ全体をクロールし、結果をコマンド ライン ウィンドウに出力します。
概要
PHP と phpSpider を使用すると、Web サイトのコンテンツ全体を簡単にクロールできます。クロール スクリプトを作成するときは、クロール構成を定義し、Web ページの構造に従って対応する XPath または CSS セレクターを設定する必要があります。同時に、特定のニーズを満たすために、コールバック関数を通じてキャプチャされたデータを処理することもできます。
参考文献
PHP 公式 Web サイト: https://www.php.net/以上がPHP と phpSpider を使用して Web サイトのコンテンツ全体をクロールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。