ホームページ  >  記事  >  バックエンド開発  >  PHP の簡単な Web クローラー開発例

PHP の簡単な Web クローラー開発例

王林
王林オリジナル
2023-06-13 18:54:46866ブラウズ

インターネットの急速な発展により、データは今日の情報化時代において最も重要なリソースの 1 つになりました。 Webクローラは、ネットワークデータを自動的に取得・処理する技術として、ますます注目と応用が進んでいます。この記事では、PHPを使って簡単なWebクローラーを開発し、ネットワークデータを自動取得する機能を実現する方法を紹介します。

1. Web クローラーの概要

Web クローラーは、ネットワーク リソースを自動的に取得して処理するテクノロジーであり、その主な動作プロセスは、ブラウザーの動作をシミュレートし、指定された URL アドレスに自動的にアクセスし、すべての URL を抽出することです。データが必要です。一般に、Web クローラーは次のステップに分割できます:

  1. クロールするターゲット URL を定義する;
  2. HTTP リクエストを送信して Web ページのソース コードを取得する;
  3. Web ページのソース コードを解析し、必要なデータを抽出します。
  4. データを保存し、次の URL のクロールを続けます。

2. PHP 開発環境の準備

Web クローラーの開発を開始する前に、PHP 開発環境を準備する必要があります。具体的な操作は次のとおりです:

  1. 公式 Web サイト (https://www.php.net/) または他のミラー Web サイトからダウンロードできる PHP をダウンロードしてインストールします。 ##Apache、Nginx などの Web サーバーをインストールします;
  2. PHP がコマンド ラインで実行できるように PHP 環境変数を構成します。
  3. 3. Web クローラーの作成

次に、Web クローラーの作成を開始します。 Baidu の検索結果ページのタイトルと URL をクロールして CSV ファイルに書き込みたいとします。具体的なコードは次のとおりです:

<?php
// 定义爬取的目标 URL
$url = 'https://www.baidu.com/s?wd=php';

// 发送 HTTP 请求获取网页源代码
$html = file_get_contents($url);

// 解析网页源代码,提取所需数据
$doc = new DOMDocument();
@$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//h3[@class="t"]/a');

// 存储数据,并继续爬取下一个 URL
$fp = fopen('result.csv', 'w');
foreach ($nodes as $node) {
  $title = $node->nodeValue;
  $link = $node->getAttribute('href');
  fputcsv($fp, [$title, $link]);
}
fclose($fp);
?>

上記のコードは、まずクロールするターゲット URL を定義します。次に、PHP の

file_get_contents()

関数を使用して HTTP リクエストを送信し、Web ページのソース コードを取得します。次に、DOMDocument クラスと DOMXPath クラスを使用して、Web ページのソース コードを解析し、必要なデータを抽出します。最後に、fputcsv() 関数を使用して、データを CSV ファイルに書き込みます。 4. Web クローラーを実行する

コードの記述が完了したら、コマンド ラインでスクリプトを実行して、Baidu の検索結果ページのタイトルと URL を自動的に取得して、 CSV ファイル。具体的な操作は次のとおりです:

コマンド ライン ウィンドウを開きます;
  1. スクリプトが存在するディレクトリを入力します;
  2. スクリプトを実行します。コマンドは次のとおりです。
  3. php Spider.php
  4. スクリプトが完了するまで待ちます。
  5. 5. まとめ

この記事では、PHP を使用して簡単な Web クローラーを開発し、ネットワーク データを自動的に取得する機能を実現する方法を紹介します。もちろん、これは単純なサンプル コードにすぎず、実際の Web クローラーはさらに複雑である可能性があります。しかし、どのような Web クローラーであっても、法律、規制、倫理を遵守し、違法または有害な行為を行ってはなりません。

以上がPHP の簡単な Web クローラー開発例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。