Maison >développement back-end >tutoriel php >Comment gratter des pages Web avec PHP : un guide étape par étape

Comment gratter des pages Web avec PHP : un guide étape par étape

Barbara Streisand
Barbara Streisandoriginal
2024-11-16 18:09:03261parcourir

How to Scrape Webpages with PHP: A Step-by-Step Guide

Web Scraping avec PHP : un guide étape par étape

Le Web scraping consiste à récupérer des données spécifiques à partir de sites Web pour les stocker ou les analyser en externe. Pour implémenter le web scraping en PHP, trois étapes clés sont impliquées :

Étape 1 : Récupérer la page Web

PHP fournit des fonctions intégrées pour effectuer des requêtes HTTP et recevoir des réponses. , notamment :

  • curl_init() : initialise une session cURL.
  • curl_setopt() : définit les options cURL, telles que URL cible, méthode HTTP et en-têtes.
  • curl_exec() : exécute la requête cURL.

Étape 2 : réception de la réponse

La réponse cURL inclut généralement le code HTML de la page Web, qui contient les données à récupérer. Vous pouvez accéder à ce code HTML en utilisant :

  • curl_getinfo() : récupère des informations sur la réponse, y compris le code d'état HTTP et les en-têtes.
  • curl_exec( ) : Renvoie le contenu du corps de la réponse.

Étape 3 : Analyser le HTML

Une fois que vous avez le HTML, vous devez l'extraire les données souhaitées. Ceci peut être réalisé à l'aide d'expressions régulières ou d'analyseurs HTML. PHP propose :

  • preg_match_all() : effectue une correspondance d'expression régulière et renvoie un tableau d'éléments correspondants.
  • DOMDocument : permet vous de manipuler et de parcourir un document HTML.

Exemple PHP étape par étape

L'extrait de code suivant montre comment récupérer le titre d'une page Web en utilisant PHP :

<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);
$url = 'https://example.com';

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($curl);
curl_close($curl);

$matches = array();
preg_match('/<title>(.*?)<\/title>/', $html, $matches);
$title = $matches[1];

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn