Rumah >pembangunan bahagian belakang >tutorial php >Berkongsi petua untuk menangkap data filem Douban dengan PHP dan phpSpider!

Berkongsi petua untuk menangkap data filem Douban dengan PHP dan phpSpider!

WBOY
WBOYasal
2023-07-21 11:48:18904semak imbas

Berkongsi petua untuk menangkap data filem Douban dengan PHP dan phpSpider!

【Pengenalan】
Dalam era Internet, dengan ledakan maklumat, orang ramai perlu mendapatkan maklumat yang berkesan untuk memenuhi keperluan mereka. Sebagai platform maklumat filem yang terkenal, Douban Movies menyediakan sejumlah besar maklumat filem dan merupakan sumber yang sangat diperlukan untuk pencinta filem. Artikel ini akan berkongsi teknik menggunakan perpustakaan PHP dan phpSpider untuk menangkap data filem Douban untuk membantu pembaca mendapatkan data yang diperlukan dengan cepat.

[Latar Belakang]
API rasmi Douban Movies menyediakan antara muka untuk menyoal filem dan mendapatkan butiran filem, tetapi terdapat sekatan pada akses kerap dan tangkapan data berskala besar. Oleh itu, kita boleh menggunakan phpSpider, rangka kerja perangkak PHP yang ringkas dan mudah digunakan, untuk menangkap data daripada filem Douban. phpSpider mempunyai fungsi seperti merangkak serentak, penyahduplikasian automatik, dan menghurai halaman web, dan sangat sesuai untuk merangkak data berskala kecil.

【Pelaksanaan Kod】
Pertama, kita perlu memasang perpustakaan phpSpider dalam persekitaran PHP. Ia boleh dipasang melalui komposer:

composer require phpspider/phpspider

Berikut adalah contoh kod untuk menangkap data filem 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();

Dalam kod contoh di atas, kami menentukan alamat halaman web, medan data dan fungsi panggil balik untuk ditangkap dengan menetapkan maklumat konfigurasi tunggu. Proses data yang ditangkap dalam fungsi panggil balik on_extract_page. Kod sampel akan menangkap tajuk filem, penilaian dan pengenalan 250 filem Douban teratas dan menyimpan data dalam pangkalan data.

【Ringkasan】
Artikel ini memperkenalkan teknik menggunakan perpustakaan PHP dan phpSpider untuk menangkap data filem Douban, dan memberikan contoh kod terperinci. Pembaca hanya perlu membuat konfigurasi dan pengubahsuaian yang sesuai mengikut contoh untuk mencapai tangkapan data yang mereka perlukan. Sudah tentu, semasa proses merangkak sebenar, anda juga perlu memberi perhatian kepada menetapkan kekerapan akses dengan sewajarnya untuk mengelakkan tekanan yang berlebihan pada tapak web sasaran. Saya harap artikel ini dapat membantu pembaca, supaya semua orang boleh mendapatkan data filem Douban yang mereka perlukan dengan lebih mudah.

Atas ialah kandungan terperinci Berkongsi petua untuk menangkap data filem Douban dengan PHP dan phpSpider!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn