PHP :Récupérer les données d'un code source ?

Bonjour,

Y-a-t-il la possibilité, en php, de récupérer le code source d'un site web (je pense que oui) et ensuite une fois le code source obtenu extraire une donnée bien précise !????

Merci à tous pour vos réponses !

Jeremy

5 réponses

  1. salut,

    tu peux recuperer le contenu d'un code source grace a file_get_contents() : cette fonction enregistre le code source directement dans la variable affectée.

    si tu veux recuperer le code source ligne par ligne : fopen() + fgets()

    pour le traitement c'est regex ( grace au preg_match ou preg_match_all ) ou x-path.

    j'espere t'avoir aidé
    1. Oui mais je crois qu'il veut récupérer le code d'un autre site.
    2. il peut que recuperer le code hmtl/css/js mais pas de php d'un autre site web
    3. Ah bon, tu m'as fait peur^^
  2. Bonjour,

    Si tu parles de récupérer le code php, ce n'est pas possible car appliqué côté serveur.
    1. Merci pour vos réponses ! Oui je cherche à récupérer le code source d'un autre site, mais pas le php, je sais que l'on ne peut pas car il est exécuté côté serveur !

      Maintenant ... si par exemple je cherche à prendre la source de Google.fr puis par exemple, en ligne 6, rechercher ça :

      </script><style id=gstyle>

      ... et n'extraire que gstyle !

      Voila ce que je cherche à faire, comment est-ce possible ?? Merci beaucoup !

      Jeremy
      1. Je ne connais pas le but mais tu peux directement voir le code source à partir de ton navigateur (afficher la source pour IE, afficher le code source pour google chrome...)
      2. oui ok merci mais en faite j'ai deux sites web, et je cherche à les coordonné ! Lorsqu'une personne se rend sur le site 1 je voudrai qu'avec php j'aille chercher des infos sur le site 2 !

        Comment rechercher une donnée bien précise avec php ? Regex ? Pre_match_all ?

        Merci encore !
    2. Bonjour,

      Si tu possède les 2 sites il te suffit de te connecter via le 2ème site à la base de données du premier. Avoir 2 connexions est tout a fait faisable.

      Adns
      1. Bonjour,

        merci pour votre réponse, oui je le sais bien mais je cherche à faire cette solution ... merci encore !
    3. salut, voila la regex pour ton exemple mensionné plus haut:

      </script><style id=gstyle>

      preg_match('#<\/script><style id=(.+?)>#',$code_source,$match);
      //$match est un tableau qui contient toutes les occurences XXX qui correspondent a </script><style id=XXX>

      voila.

      je t'invite par ailleurs de voir ce lien qui explique les regex (en tout cas la base):

      https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2
      1. ok merci beaucoup je vais tester ! je reviens vite te dire comment que ça se passe ;)
      2. Comment faire, d'après ton code, pour afficher le résultat ?

        echo '$resultat';
        ???

        Merci beaucoup !
      3. héhééé j'ai trouvé pour afficher : echo $match[1]; super !

        Merci beaucoup ! :D
      4. si tu as d'autres regex , je serais ravi de t'aider :)