PHP と phpSpider を使用して Web クローラー操作を実行するにはどうすればよいですか?
[はじめに]
今日の情報爆発の時代では、インターネット上に膨大な量の貴重なデータが存在しており、Web クローラーは Web から自動的にクロールして抽出するために使用できる強力なツールです。ページデータ。人気のプログラミング言語である PHP は、オープンソース ツールである phpSpider と組み合わせることで、Web クローラー機能を迅速かつ効率的に実装できます。
[具体的な手順]
phpSpider のインストール
まず、phpSpider ツールをインストールする必要があります。これは、コンポーザーを介してインストールでき、ターミナルまたはコマンド プロンプトを開いて、次のコマンドを実行します。
composer require sunra/php-simple-html-dom-parser
単純なクローラーの作成
次に、クロールする単純なクローラーを作成します。 Web ページ上のコンテンツ。まず、spider.php という名前のファイルを作成し、そのファイルに次のコードを追加します。
<?php require 'vendor/autoload.php'; use SunraPhpSimpleHtmlDomParser; $url = 'https://www.example.com'; // 指定要爬取的网页URL // 获取网页内容 $html = file_get_contents($url); // 解析HTML $dom = HtmlDomParser::str_get_html($html); // 提取需要的数据 $title = $dom->find('title', 0)->plaintext; // 获取网页标题 echo "标题:" . $title . " "; $links = $dom->find('a'); // 获取所有链接 foreach ($links as $link) { echo "链接:" . $link->href . " "; } ?>
スクリプトを実行すると、クロールされた Web ページのタイトルとすべてのリンクがコマンド ラインまたはターミナルに表示されます。
クロール ルールの指定
phpSpider は、より高度な機能も提供しており、CSS セレクターまたは XPath を使用して、クロールするコンテンツを指定できます。たとえば、以下に示すように、上記のコードを変更して、指定された CSS クラス名「product」を持つ要素のみをキャプチャすることができます。
<?php // ... // 提取需要的数据 $elements = $dom->find('.product'); // 获取所有CSS类名为"product"的元素 foreach ($elements as $element) { echo "产品名称:" . $element->plaintext . " "; echo "产品链接:" . $element->href . " "; } ?>
変更したコードを実行して、CSS クラス名「product」要素のみを出力し、彼らのリンク。
リクエスト ヘッダーの設定
Web サイトは、リクエスト ヘッダーの内容に基づいてクローラー対策処理を実行することがあります。リクエストを送信するブラウザーをより適切にシミュレートするために、次のことができます。リクエストヘッダーを設定します。以下に示すように:
<?php // ... // 设置请求头 $options = [ 'http' => [ 'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 " ] ]; $context = stream_context_create($options); // 获取网页内容 $html = file_get_contents($url, false, $context); // ... ?>
変更されたコードを実行して、シミュレートされたブラウザーのリクエスト ヘッダーを使用してクロールします。
[概要]
PHP とオープンソースツール phpSpider を組み合わせることで、Web クローラーの機能を簡単に実装できます。この記事では、phpSpider のインストール、簡単なクローラーの作成、Web ページ上のコンテンツをクロールする方法、CSS セレクターまたは XPath を使用してクロールするコンテンツを指定する方法、リクエスト ヘッダーをシミュレート ブラウザーに設定する方法を紹介しました。リクエスト。この記事が、PHP と phpSpider を理解して Web クローリング操作に使用するのに役立つことを願っています。
以上がWeb クローリング操作に PHP と phpSpider を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。