IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[cURL] récupération d'une page html


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut [cURL] récupération d'une page html
    bonjour,
    après maintes recherches sur la toile, je finis par vous demander
    voilà, j'ai un script php et je voudrai récupérer le contenu html d'une page pour entrer tout le code de celle-ci dans ma base mysql.
    apparemment il faut que j'utilise curl, hors jusque là mes essais n'ont pas été très concluant pourriez vous m'aider svp?merci.
    mon code ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function recup_html(){
    $ch = curl_init("http://www.mapage.net");
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
    return $ch;
    }

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    C'est en partie normal car d'après les souvenirs que j'en ai vous tentez d'écrire le contenu de cette page dans un fichier qui n'est même pas ouvert.

    Il y en avait un exemple dans la FAQ que je vous ai remanié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    if (!extension_loaded('curl')) {
        die("L'extension CURL n'est pas disponible");
    }
     
    function fetch($url) {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_NOBODY, FALSE);
        $response = curl_exec($ch);
        curl_close($ch);
        return $response;
    }
     
    echo fetch('http://www.developpez.com');

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut
    merci pour la réponse,
    en fait pour le fichier il n'a pas lieu d'être c'était juste pour voir ce que ça donnait.
    voila mon code aujourd'hui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function recup_html(){
    $mon_url="http://www.developpez.com";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $mon_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $page=curl_exec ($ch);
    curl_close($ch);
     
    $req01="INSERT INTO html_content (champ1,html) VALUES(1,'$ch')";
    mysql_query($req01);
     
    return $ch;
    }
    j'obtiens bien un insert mais le champ1 contient 1 et le champ html contient Resource id #74
    est ce que qlqn a une idée?
    emrci pour vos réponses

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req01="INSERT INTO html_content (champ1,html) VALUES(1,'$page')";
    Par contre retourner la ressource ($ch) alors qu'elle est fermée : j'ai un doute sur son utilité !

    PS : merci de ne pas multiposter

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut
    dsl pr multiposte mais comment relancer un sujet qui part aux oubliettes et qd on ne trouve pas de réponse?
    sinon j'ai modifié mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function recup_html(){
    $mon_url="http://www.developpez.com";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $mon_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $recup_html=curl_exec ($ch);
    curl_close($ch);
     
    $req01='INSERT INTO html_content (champ1,html) VALUES(1,'$recup_html')';
    mysql_query($req01);
    return "ok";
    }
    là la page s'affiche bien mais l'insert dans la base ne fonctionne pas, pb d'échappement et compagnie...est ce qu'il existe une fonction php qui permet de contourner ça?
    encore merci

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function recup_html(){
        $mon_url = 'http://www.developpez.com';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $mon_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $recup_html = curl_exec ($ch);
        curl_close($ch);
     
        if ($recup_html !== FALSE) {
            $req01="INSERT INTO html_content (champ1,html) VALUES(1,'" . mysql_real_escape_string($recup_html) . "')";
            return mysql_query($req01);
        } else {
            return FALSE;
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RAW Socket]Récupération d'une page HTML
    Par vegnagun dans le forum Réseau
    Réponses: 0
    Dernier message: 22/03/2013, 09h04
  2. VB6: Récupération des meta d'une page HTML avec HTMLDocument
    Par Matounet dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/09/2011, 07h55
  3. [PHP] Parser d'une page HTML pour récupération du texte
    Par trihanhcie dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 23
    Dernier message: 18/06/2011, 19h10
  4. Récupération contenu d'une page html
    Par babass77 dans le forum Général Java
    Réponses: 1
    Dernier message: 19/06/2008, 01h06
  5. Récupérations d'informations sur une page html
    Par stansoad0108 dans le forum Langage
    Réponses: 14
    Dernier message: 12/03/2008, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo