Maison > développement back-end > tutoriel php > Comment gérer efficacement les erreurs 404 lors du Web Scraping en PHP ?

Comment gérer efficacement les erreurs 404 lors du Web Scraping en PHP ?

Barbara Streisand
Libérer: 2024-12-03 06:48:09
original
112 Les gens l'ont consulté

How to Effectively Handle 404 Errors During Web Scraping in PHP?

Comment gérer efficacement les erreurs 404 en PHP

Lors du scraping de pages Web, la rencontre d'erreurs 404 (introuvable) peut perturber le flux de votre code. Pour éviter de telles interruptions, il est essentiel de mettre en œuvre une validation d'URL robuste dès le départ.

Limites de la méthode fsockopen

La suggestion du blog d'utiliser fsockopen() a des limites, en particulier lorsque gérer les redirections. Il peut renvoyer une valeur $valid vide même pour des URL valides.

Présentation de curl et curl_getinfo()

La bibliothèque curl de PHP fournit une approche alternative qui gère efficacement les redirections et les retoursの詳細なHTTP情報を提供します。 Avec curl_getinfo(), vous pouvez récupérer le code d'état HTTP après avoir exécuté une requête cURL. Voici un exemple de code utilisant curl pour vérifier les erreurs 404 :

$handle = curl_init($url);
curl_setopt($handle,  CURLOPT_RETURNTRANSFER, TRUE);

/* Get the HTML or whatever is linked in $url. */
$response = curl_exec($handle);

/* Check for 404 (file not found). */
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
    /* Handle 404 here. */
}

curl_close($handle);

/* Handle $response here. */
Copier après la connexion

Dans ce code :

  • Une session cURL est initialisée à l'aide de curl_init().
  • curl_setopt() configure la session pour renvoyer une chaîne $response.
  • curl_exec() exécute la requête.
  • curl_getinfo() récupère le code d'état HTTP ($httpCode).
  • Si $httpCode est 404, le code gère l'erreur.

En utilisant cette méthode, vous pouvez gérer efficacement les erreurs 404 et garantir le bon fonctionnement de votre code de scraping.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal