ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して Douban の映画レビューをクロールするためのチュートリアル

PHP を使用して Douban の映画レビューをクロールするためのチュートリアル

PHPz
PHPzオリジナル
2023-06-14 17:06:591387ブラウズ

フィルム市場の継続的な拡大と発展に伴い、フィルムに対する人々の需要もますます高まっています。映画の評価に関しては、Douban Film Critics が常により権威があり、人気のある選択肢です。場合によっては、Douban 映画レビューに対して特定の分析と処理を実行する必要があるため、クローラー テクノロジーを使用して Douban 映画レビューに関する情報を取得する必要があります。この記事では、PHP を使用して Douban の映画レビューをクロールする方法のチュートリアルを紹介します。参考にしてください。

  1. Douban 映画のページ アドレスを取得する

Douban 映画のレビューをクロールする前に、Douban 映画のページ アドレスを取得する必要があります。映画のページ アドレスは、検索エンジンを通じて、または Douban Movies の映画リスト インターフェイスに直接アクセスして取得できます。たとえば、映画「ショーシャンクの空に」のページ アドレスを取得したい場合は、Douban Movies の映画リスト インターフェイスで検索するか、ブラウザに映画のページ アドレスを直接入力します: https:/ /movie.douban.com/subject/1292052/。

  1. PHP を使用して Douban ムービー ページにアクセスし、ページのコンテンツを取得します。

PHP は、Web ページへのアクセスとデータ取得のための cURL ライブラリを提供します。以下は、Douban Movies ページにアクセスしてページのコンテンツを取得するための PHP コード例です。

$url = 'https://movie.douban.com/subject/1292052/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
curl_close($ch);
echo $html;

コードでは、最初に Douban Movies のページ アドレスが定義され、次に、curl_init() 関数が使用されます。 cURL オブジェクトを初期化します。次に、curl_setopt() 関数を使用して、curl オブジェクトのパラメータを設定します。ここで、CURLOPT_URL はアクセスされた URL アドレスを設定し、CURLOPT_RETURNTRANSFER は返された結果を文字列として設定します。次に、curl_exec() 関数を使用して cURL クロール操作を実行し、結果を変数 $html に割り当てます。最後に、curl_close() 関数を使用して cURL セッションを閉じ、関連リソースを解放し、変数 $html の値を出力します。

上記のコードを実行して、Douban ムービー ページの HTML コンテンツを出力します。

  1. Douban 映画レビュー ページの HTML コンテンツを解析する

ページの HTML コンテンツを取得した後、PHP を使用して HTML コンテンツを解析し、豆瓣の映画レビュー・感想・評価一覧。

PHP では、SimpleXML 拡張機能を使用して XML または HTML データを解析できます。以下は、Douban 映画レビュー ページの HTML コンテンツを解析し、映画レビューの評価とレビュー コンテンツを抽出するために使用される PHP コードの例です。

$url = 'https://movie.douban.com/subject/1292052/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
curl_close($ch);

// 使用 SimpleXML 解析 HTML 内容
$xml = simplexml_load_string($html);
$ratings = array();
$comments = array();

// 获取影评评分和评论内容
foreach ($xml->xpath('//div[@class="comment-item"]') as $comment) {
    $rating = $comment->div[2]->span[2]->text();
    $comment_content = $comment->div[2]->p->text();
    $ratings[] = (string)$rating;
    $comments[] = (string)$comment_content;
}

print_r($ratings);
print_r($comments);

コードでは、 Douban ムービーを定義してから、curl を使用してページにアクセスし、HTML コンテンツを取得する操作を行います。

次に、simplexml_load_string() 関数を使用して、HTML コンテンツを SimpleXML オブジェクトに解析します。次に、xpath() 関数と XPath クエリ ステートメントを使用してページ上のすべての映画レビュー情報を取得し、foreach ステートメントを使用して各映画レビューを走査し、評価とコメントの内容を取得します。最後に、評価とコメントをそれぞれ $rateds 配列と $comments 配列に保存し、これら 2 つの配列の内容を出力します。

上記のコードを実行して、Douban 映画レビュー ページ内のすべての映画レビュー情報を解析します。

  1. 映画レビュー情報の出力

次に、取得した映画レビュー情報を出力します HTMLやCSSを使用して出力内容を美化することができます。以下は、Douban 映画レビュー ページの映画レビュー情報を美しく出力するための PHP コード例です。

$url = 'https://movie.douban.com/subject/1292052/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
curl_close($ch);

// 使用 SimpleXML 解析 HTML 内容
$xml = simplexml_load_string($html);
$ratings = array();
$comments = array();

// 获取影评评分和评论内容
foreach ($xml->xpath('//div[@class="comment-item"]') as $comment) {
    $rating = $comment->div[2]->span[2]->text();
    $comment_content = $comment->div[2]->p->text();
    $ratings[] = (string)$rating;
    $comments[] = (string)$comment_content;
}

// 输出美化的影评信息
echo '<style>table, th, td {border: 1px solid black; border-collapse: collapse;} th, td {padding: 5px;}</style>';
echo '<table><tr><th>评分</th><th>评论内容</th></tr>';
for ($i = 0; $i < count($ratings); $i++) {
    echo '<tr><td>' . $ratings[$i] . '</td><td>' . $comments[$i] . '</td></tr>';
}
echo '</table>';

コードでは、最初にcurl を使用して Douban 映画ページの HTML コンテンツを取得し、次に次を使用します。 SimpleXML を使用して HTML コンテンツを解析し、映画レビューの評価とレビュー コンテンツを取得します。

次に、HTML と CSS を使用して出力コンテンツを美しくします。これには、テーブル スタイルの追加、テーブル ヘッダーとテーブル コンテンツの設定、for ループを使用した各映画レビューの走査、評価とコメントの出力などが含まれます。

上記のコードを実行して、美化された Douban 映画レビュー ページの映画レビュー情報を出力します。

要約すると、この記事では、PHP を使用して Douban の映画レビューをクロールする方法についてのチュートリアルを紹介します。学習を通じて、読者は、PHP および cURL テクノロジを使用して Web ページにアクセスし、データをキャプチャする方法と、SimpleXML 拡張機能を使用して HTML コンテンツを解析し、出力を美しくする方法を学ぶことができます。

以上がPHP を使用して Douban の映画レビューをクロールするためのチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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