Maison >développement back-end >tutoriel php >Comment puis-je tester de manière fiable les erreurs 404 dans mon code de scraping PHP ?

Comment puis-je tester de manière fiable les erreurs 404 dans mon code de scraping PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-04 08:09:13919parcourir

How can I reliably test for 404 errors in my PHP scraping code?

Test des URL pour 404 en PHP : un guide complet

Découvrir que les URL renvoient des erreurs 404 inattendues peut perturber votre code de scraping. Pour résoudre ce problème, il est essentiel d'implémenter un test au début de votre code pour vérifier ce code d'état spécifique.

Approche fsockopen

Une méthode suggérée consiste à utiliser fsockopen (). Cependant, si l'URL a une redirection, fsockopen() peut renvoyer un résultat vide pour toutes les valeurs.

Approche curl

Une approche plus fiable utilise les liaisons curl de PHP. Avec curl, vous pouvez récupérer le code d'erreur HTTP en utilisant curl_getinfo(). Voici un exemple :

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

$response = curl_exec($handle);

$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if ($httpCode == 404) {
    // Handle 404 error here
}

curl_close($handle);

// Handle the response as needed

Ce code initialise un handle curl pour le $url spécifié, définit l'option pour renvoyer la réponse sous forme de chaîne, exécute la requête et récupère le code HTTP. Si le code est 404, il parcourt le code de gestion des erreurs approprié.

Conclusion

En utilisant la fonction curl_getinfo() de curl, vous pouvez vérifier efficacement les erreurs 404 dans votre Code de scraping PHP, empêchant les perturbations en aval et garantissant la stabilité de votre processus d'extraction de données.

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