Inspecteur de pages (vérifiez si des sites affichent un texte/code particulier)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 758 fois - Téléchargée 15 fois

Contenu du snippet

Ce script PHP permet de scruter les codes sources de pages prédéfinies pour voir si un texte ou un code (également prédéfini) est toujours inclus.

Indiquez les adresses des sites dans le tableau $sitesaverifier et le texte à trouver (pouvant aussi être du code HTML) dans la variable $textearechercher, puis sauvegardez la page et c'est prêt.

Il ne vous reste plus ensuite qu'à exécuter la page pour effectuer la vérification et voir les URL des pages qui n'ont plus dans leurs sources le texte paramétré.

J'ai pris le bout de code permettant de retourner les sources ici : http://www.commentcamarche.net/forum/affich-2266318-php-recuperer-le-code-source-d-une-page-web
Je l'ai ensuite modifié pour qu'il les retourne dans $htmlsite, variable qui sera vérifiée pour déterminer si les sources comprennent le texte/code indiqué.
Ensuite, j'ai regroupé tout ça dans une boucle qui s'exécute de 0 jusqu'à le nombre d'éléments du tableau de sites, qui est alors exécutée sur chacun des URL indiquées dans le tableau.
Quand le texte/code recherché n'est pas trouvé dans chacune des sources, il affiche une ligne du type "http://site.com/ a retiré le texte/code ''abcdefg'' !", sinon rien n'est affiché.
Enfin, il affiche "La vérif est terminée" à la fin de la boucle.

Source / Exemple :


<?php

$sitesaverifier = array(
"http://leodido.net16.net",
"http://affiliation.com",
"http://site-partenaire.com");
// Mettez dans le tableau ci-dessus les adresses des sites web à vérifier, vous pouvez en mettre autant que vous souhaitez

$textearechercher = "mettez ce que voux souhaitez";
// Le code (ou texte) indiqué dans la variable ci-dessus sera celui recherché par la page

// FIN DES VARIABLES A MODIFIER.

$htmlsite = null; // Prépare la variable qui contiendra les sources de chaque site

echo "<br><br>Les sites suivants n`affichent plus le texte recherché :<br>"; // Texte d'introduction

for ($i = 0; $i<count($sitesaverifier); $i++) { // Pour chaque site dans le tableau

// Récupèrer la source HTML de celui-ci
// Le bout de code ci-dessous a été pris ici : http://www.commentcamarche.net/forum/affich-2266318-php-recuperer-le-code-source-d-une-page-web
// ATTENTION, LA SOURCE RECUPEREE N'EST PAS ECHAPEE ET SERA EXECUTEE SI VOUS L'AFFICHEZ

$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $sitesaverifier[$i]);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);

// Petite modification par rapport au code original du site CCM : on met les lignes dans une variable au lieu de les afficher, et on enlève le numéro de ligne
// J'ai également retiré le "htmlspecialchars" pour pouvoir rechercher des balises et du code. REMETTEZ-LE SI VOUS AFFICHEZ LA SOURCE POUR PAS QUE LE CODE S'EXECUTE

foreach($lines as $line_num => $line) {

$htmlsite = $htmlsite.'<br>'.$line

}

if (strpos($htmlsite, $textearechercher, 0) === false) { // Si le texte (ou le code) à rechercher n'est pas présent

echo $sitesaverifier[$i]." a retiré le texte/code ''".$textearechercher."'' !<br>"; // Une phrase apparaît avec l'URL du site vérifié

}

$htmlsite = null; // Vidage de la source puis retour au début de la boucle jusqu'à la fin de la vérification

}

echo "La vérif est terminée."; // Phrase indiquant la fin de la vérification

?>

Conclusion :


N'hésitez pas à noter et à commenter la source pour dire ce qui va ou pas :)

A voir également

Ajouter un commentaire

Commentaires

mon code ne marche pas et je vois pas le soucis
jordane45
Messages postés
26309
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 septembre 2019
314 > mesdour -
Bonjour,
Commence par poster ta question DANS LE FORUM et on pas en commentaire d'un code source.
  • NB: Pour poster du code sur le forum, merci d'utiliser les balises de code (en y précisant le langage afin d'avoir la coloration syntaxique).

Explications disponibles ici : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
leddy2000
Messages postés
7
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2012
-
Je l'ai adapté à mes besoins, je te remercie pour ce code dont je ne connaissais pas la fonction cURL_init
leddy2000
Messages postés
7
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2012
-
j'ai testé avec l'optimisation et pas de soucis. Par contre je rencontre un problème car le script fait une recherche par ligne et donc pour un bout de code sur quelques lignes cela ne fonctionne pas.
cs_pablo836
Messages postés
6
Date d'inscription
samedi 19 mars 2011
Statut
Membre
Dernière intervention
23 avril 2012
-
Bonjour à tous,
En premier temps, je n'avais pas vu l'erreur du $partenaires et je viens de la corriger, merci de me la faire remarquer.
Sinon, pour l'erreur de syntaxe, j'ai vérifié et il n'y en a normalement pas. Le crochet de la ligne 42 ferme le "for each" de la ligne 38
Et pour l'optimisation, je vais voir et je l'appliquerai peut-être (je n'avais pas trop cherché plus loin au niveau optimisation, ayant pris le code de récupèration de sources sur un autre site), merci :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.