インターネット技術の発展に伴い、データ分析や機械学習などの分野において、データクローリングはますます重要な前提スキルとなっています。中でもクローラ技術はさらに不可欠です。広く使用されているバックエンド プログラミング言語として、PHP はクローラ分野でも広範な用途と利点を持っています。この記事では、Douyu 生放送データのクローリングを例に、PHP クローラーの実践的な応用例を紹介します。
クローラーを開始する前に、いくつかの準備作業を行う必要があります。まず、ローカル サーバー環境を構築する必要がありますが、PHP 環境の展開を容易にするために、WAMP や XAMPP などの統合ツールを使用することをお勧めします。
2 番目に、cURL、simple_html_dom、その他のコンポーネントを含む、PHP 関連のライブラリとツールをインストールする必要があります。 cURL は、HTTP リクエストなどの操作に使用できる高レベルのネットワーク データ転送ライブラリです。 simple_html_dom は HTML を解析するためのライブラリで、Web ページからさまざまな情報を迅速かつ簡単に抽出するのに役立ちます。
次に、クローラー コードの記述を開始します。 Douyu 生放送データのクローリングを例に挙げると、まずクロール対象の Web ページとデータを明確にする必要があります。この記事では、Douyu ホームページを例として、ライブ ブロードキャスト ルーム名、アンカー名、視聴者数、ライブ ブロードキャスト ルームのリンクなど、いくつかの人気のあるライブ ブロードキャスト ルームに関する情報を取得します。
以下は基本的なクローラー コード フレームワークです:
<?php // 1. 导入 simple_html_dom 库 require 'simple_html_dom.php'; // 2. 指定爬虫目标网页 URL $url = 'https://www.douyu.com/'; // 3. 使用 cURL 发起 HTTP 请求,并获取响应结果 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 设置返回结果为字符串 $response = curl_exec($ch); // 4. 解析 HTML,并提取目标信息 $html = new simple_html_dom(); $html->load($response); // TODO: 提取目标信息 // 5. 清理资源 $html->clear(); curl_close($ch); ?>
その中で、最初のステップは simple_html_dom ライブラリをインポートすることであり、2 番目のステップはクローラーのターゲット Web ページ URL を指定することです。 3 番目のステップは、cURL を使用して HTTP リクエストを開始し、結果への応答を取得し、ステップ 5 でリソースをクリーンアップすることです。これらのステップは比較的基本的なものであるため、ここでは詳しく説明しません。
重要なステップはステップ 4 で、HTML を解析してターゲット情報を抽出します。 Douyu ホームページでは、人気のあるライブ ブロードキャスト ルームに関する情報が DyListCover-info
という div 要素に含まれており、simple_html_dom ライブラリによって提供される find()## を使用できます。これらの div 要素をフィルタリングして情報を抽出します。
// 4. 解析 HTML,并提取目标信息 $hot_list = []; foreach ($html->find('.DyListCover-info') as $item) { $hot = []; $hot['title'] = $item->find('.DyListCover-intro', 0)->plaintext; // 直播间名称 $hot['anchor'] = $item->find('.DyListCover-user', 0)->plaintext; // 主播名 $hot['viewer'] = $item->find('.DyListCover-hot', 0)->plaintext; // 观看人数 $hot['url'] = $item->find('a', 0)->href; // 直播间链接 array_push($hot_list, $hot); } echo json_encode($hot_list);上記のコードでは、
$html->find('.DyListCover-info') セレクターを使用して、ライブ放送ルーム情報の一般的な div 要素をすべて取得し、その子要素を通じてさらに目的の情報を抽出します。ここでは、抽出されたデータを保存するために PHP 配列が使用されており、それは JSON 形式に変換され、
json_encode() メソッドを通じて端末に出力されることに注意してください。
以上がPHP クローラーの実践: Douyu 生放送データをクローリングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。