Maison >développement back-end >tutoriel php >Partage de conseils sur la capture des données du film Douban avec PHP et phpSpider !
Partage de conseils sur la capture des données du film Douban avec PHP et phpSpider !
【Introduction】
À l'ère d'Internet, avec l'explosion de l'information, les gens ont besoin d'obtenir des informations efficaces pour répondre à leurs besoins. En tant que plateforme d'informations cinématographiques bien connue, Douban Movies fournit une grande quantité d'informations cinématographiques et constitue une ressource indispensable pour les cinéphiles. Cet article partagera une technique d'utilisation de PHP et de la bibliothèque phpSpider pour capturer les données du film Douban afin d'aider les lecteurs à obtenir rapidement les données requises.
[Contexte]
L'API officielle de Douban Movies fournit des interfaces pour interroger des films et obtenir des détails sur les films, mais il existe des restrictions sur l'accès fréquent et la capture de données à grande échelle. Par conséquent, nous pouvons utiliser phpSpider, un framework d'exploration PHP simple et facile à utiliser, pour capturer les données des films Douban. phpSpider possède des fonctions telles que l'exploration simultanée, la déduplication automatique et l'analyse de pages Web, et est très approprié pour l'exploration de données à petite échelle.
【Implémentation du code】
Tout d'abord, nous devons installer la bibliothèque phpSpider dans l'environnement PHP. Il peut être installé via composer :
composer require phpspider/phpspider
Voici un exemple de code pour capturer les données du film 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();
Dans l'exemple de code ci-dessus, nous spécifions l'adresse de la page Web, le champ de données et la fonction de rappel à capturer en définissant les informations de configuration. attendez. Traitez les données capturées dans la fonction de rappel on_extract_page
. L'exemple de code capturera les titres de films, les classements et les introductions des 250 meilleurs films Douban et stockera les données dans la base de données.
【Résumé】
Cet article présente les techniques d'utilisation de PHP et de la bibliothèque phpSpider pour capturer les données du film Douban et donne des exemples de code détaillés. Les lecteurs n'ont qu'à effectuer les configurations et les modifications appropriées en fonction des exemples pour obtenir la capture de données dont ils ont besoin. Bien entendu, pendant le processus d’exploration proprement dit, vous devez également veiller à définir la fréquence d’accès de manière appropriée afin d’éviter une pression excessive sur le site Web cible. J'espère que cet article pourra être utile aux lecteurs afin qu'ils puissent obtenir plus facilement les données du film Douban dont ils ont besoin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!