ホームページ >バックエンド開発 >PHPチュートリアル >Douban の動画データを PHP と phpSpider でキャプチャするヒントを共有します!

Douban の動画データを PHP と phpSpider でキャプチャするヒントを共有します!

WBOY
WBOYオリジナル
2023-07-21 11:48:18906ブラウズ

PHP と phpSpider を使用して Douban ムービー データをキャプチャするためのヒントを共有します!

[はじめに]
インターネット時代において、情報が爆発的に増加し、人々は自分のニーズを満たす有効な情報を入手する必要があります。有名な映画情報プラットフォームとして、Douban Movies は大量の映画情報を提供しており、映画愛好家にとって欠かせないリソースです。この記事では、読者が必要なデータをすばやく入手できるように、PHP と phpSpider ライブラリを使用して Douban ムービー データをキャプチャするテクニックを紹介します。

[背景]
Douban Movies の公式 API は、映画のクエリや映画の詳細を取得するためのインターフェイスを提供していますが、頻繁なアクセスや大規模なデータの取得には制限があります。したがって、シンプルで使いやすい PHP クローラー フレームワークである phpSpider を使用して、Douban ムービーからデータをキャプチャできます。 phpSpider は、同時クローリング、自動重複排除、Web ページ解析などの機能を備えており、小規模なデータクローリングに非常に適しています。

[コード実装]
まず、phpSpider ライブラリを PHP 環境にインストールする必要があります。これは、composer を通じてインストールできます。

composer require phpspider/phpspider

以下は、Douban ムービー データをキャプチャするサンプル コードです。

<?php
require 'vendor/autoload.php';
use phpspidercorephpspider;
use phpspidercoreequests;

// 设置要抓取的网页地址
$url = 'https://movie.douban.com/top250';

// 使用phpSpider进行数据抓取
$config = [
    'name' => 'douban_movie',
    'log_show' => false,
    'interval' => 1000,
    'user_agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0',
    'domains' => [
        'movie.douban.com'
    ],
    'scan_urls' => [
        $url
    ],
    'content_url_regexes' => [
        'https://movie.douban.com/subject/[0-9]+/'
    ],
    'fields' => [
        [
            'name' => 'title',
            'selector' => '#content h1 span:first',
            'required' => true
        ],
        [
            'name' => 'rating',
            'selector' => '.rating_num',
            'required' => true
        ],
        [
            'name' => 'summary',
            'selector' => '#link-report span[property="v:summary"]',
            'required' => true
        ],
    ]
];

// 在on_extract_page回调函数中处理抓取到的数据
function on_extract_page($page, $data){
    // 将抓取到的数据存储到数据库中或做其他处理
    $title = $data['title'];
    $rating = $data['rating'];
    $summary = $data['summary'];
    // 这里假设将数据存储到数据库中
    $db = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
    $stmt = $db->prepare('INSERT INTO movie(title, rating, summary) VALUES(?, ?, ?)');
    $stmt->execute([$title, $rating, $summary]);
}

// 启动phpSpider进行抓取
$request = new requests();
$request::$input_encoding = 'utf-8';
$spider = new phpspider($config);
$spider->on_extract_page = 'on_extract_page';
$spider->start();

上記のサンプル コードでは、設定情報を設定することでキャプチャするコンテンツを指定します。 Web ページのアドレス、データ フィールド、コールバック関数など。キャプチャしたデータをコールバック関数 on_extract_page で処理します。サンプル コードは、トップ 250 の Douban 映画の映画タイトル、評価、紹介をキャプチャし、データをデータベースに保存します。

[概要]
この記事では、PHP と phpSpider ライブラリを使用して Douban ムービー データをキャプチャするテクニックを紹介し、詳細なコード例を示します。読者は、例に従って適切な構成と変更を行うだけで、必要なデータを取得できます。もちろん、実際のクローリング プロセスでは、ターゲット Web サイトに過剰な負荷がかからないよう、アクセス頻度を適切に設定することにも注意する必要があります。この記事が読者の皆様にとって、必要な Douban 動画データをより簡単に入手できるようお役に立てれば幸いです。

以上がDouban の動画データを PHP と phpSpider でキャプチャするヒントを共有します!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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