>  기사  >  백엔드 개발  >  PHP 및 phpSpider를 사용하여 Douban 영화 데이터 캡처에 대한 팁을 공유합니다!

PHP 및 phpSpider를 사용하여 Douban 영화 데이터 캡처에 대한 팁을 공유합니다!

WBOY
WBOY원래의
2023-07-21 11:48:18863검색

PHP 및 phpSpider를 사용하여 Douban 영화 데이터를 캡처하는 방법에 대한 팁을 공유합니다!

【소개】
정보가 폭발적으로 증가하는 인터넷 시대에 사람들은 자신의 필요에 맞는 효과적인 정보를 얻어야 합니다. 영화 정보 플랫폼으로 잘 알려진 Douban Movies는 많은 양의 영화 정보를 제공하며 영화 애호가에게 없어서는 안될 리소스입니다. 이 기사에서는 독자가 필요한 데이터를 빠르게 얻을 수 있도록 PHP 및 phpSpider 라이브러리를 사용하여 Douban 영화 데이터를 캡처하는 기술을 공유합니다.

[배경]
두반무비의 공식 API는 영화를 조회하고 영화 세부정보를 얻을 수 있는 인터페이스를 제공하지만 빈번한 액세스와 대규모 데이터 캡처에는 제한이 있습니다. 따라서 간단하고 사용하기 쉬운 PHP 크롤러 프레임워크인 phpSpider를 사용하여 Douban 영화에서 데이터를 캡처할 수 있습니다. phpSpider는 동시 크롤링, 자동 중복 제거, 웹 페이지 구문 분석 등의 기능을 갖추고 있어 소규모 데이터 크롤링에 매우 적합합니다.

【코드 구현】
먼저 PHP 환경에 phpSpider 라이브러리를 설치해야 합니다. 작곡가를 통해 설치할 수 있습니다.

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();

위 샘플 코드에서는 구성 정보 설정을 통해 캡처할 웹 페이지 주소, 데이터 필드 및 콜백 함수를 지정합니다. 기다리다. 콜백 함수 on_extract_page에서 캡처된 데이터를 처리합니다. 샘플 코드는 상위 250개 Douban 영화의 영화 제목, 등급 및 소개를 캡처하고 해당 데이터를 데이터베이스에 저장합니다.

【요약】
이 기사에서는 PHP 및 phpSpider 라이브러리를 사용하여 Douban 영화 데이터를 캡처하는 기술을 소개하고 자세한 코드 예제를 제공합니다. 독자는 필요한 데이터 캡처를 달성하기 위해 예제에 따라 적절한 구성과 수정만 하면 됩니다. 물론, 실제 크롤링 과정에서는 대상 웹사이트에 과도한 부담을 주지 않도록 접속 빈도를 적절하게 설정하는 데에도 주의가 필요합니다. 이 기사가 독자들에게 도움이 되기를 바라며, 필요한 Douban 영화 데이터를 보다 쉽게 ​​얻을 수 있기를 바랍니다.

위 내용은 PHP 및 phpSpider를 사용하여 Douban 영화 데이터 캡처에 대한 팁을 공유합니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.