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

Qt Discussion :

Récupérer le code source d'une page HTML


Sujet :

Qt

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 10
    Points
    10
    Par défaut Récupérer le code source d'une page HTML
    Bonjour,

    Je souhaiterais récupérer le code source d'une page internet lambda. J'ai trouvé ça : ici

    J'ai testé cependant, lorsque j'affiche mon texte/code html j'obtiens : <html></html>.

    J'ai aucune idée de la d'où viens le problème. J'ai changer l'Url, j'ai vérifier que QWebView ne renvoyais pas d'erreur et c'est bon... je fais donc appelle à vous pour m'apprendre d'où vient mon erreur

    Je vous donne mon code :
    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
    #include "surfer.h"
     
    surfer::surfer(QString &chemin, QWidget *parent = 0)
    {
        view = new QWebView;
        view->load(QUrl("http://www.google.fr/  "));
     
        QWebPage *page = view->page();
            QWebFrame *frame = page->currentFrame();
            html = frame->toHtml();
     
       /* if(html == "") {chemin = "erreur";}
        else {chemin = "html non vide";} */
          chemin = html;
    }
    et surfer.h :

    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
    16
    17
    18
    19
    20
    #ifndef SURFER_H
    #define SURFER_H
     
    #include <QtGui>
    //#include <QNetwork.h>
    #include <QtWebKit>
     
    class surfer :public QWidget
    {
        Q_OBJECT
     
    public:
        surfer(QString &chemin, QWidget *parent);
     
    private:
        QWebView *view;
        QString html;
    };
     
    #endif // SURFER_H
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Ton problème vient du fait que tu n'as pas posé de slot sur la fin du chargement de la page, du coup quand tu appelles toHtml, ben la page a pas fini de charger ...

    Bref, il faut placer le slot comme indiqué sur la FAQ

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 10
    Points
    10
    Par défaut
    Merci, oui effectivement, je suis bete ^^

    cependant, maintenant, la procédure result() n'est pas appelée...

    (j'ai vérifié)

    donc voici le nouveau code :

    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
    16
    17
    18
    19
    20
    21
    #include "surfer.h"
     
    surfer::surfer(QString &chemin, QWidget *parent = 0)
    {
        html_transfere = &chemin;
     
        view = new QWebView;
        view->load(QUrl("http://www.google.fr/"));
        connect(view, SIGNAL(loadFinished(bool)), this, SLOT(result(bool)));
     
    }
     
    void surfer::result(bool)
    {
        QWebPage *page = view->page();
            QWebFrame *frame = page->currentFrame();
            html = frame->toHtml();
           /* if(html == NULL) {*html_transfere = "erreur";}
            else {*html_transfere = "html non vide";}*/
            *html_transfere = html;
    }
    (j'avoue ne pas encore avoir chercher bcp l'erreur, car je vais manger )

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

Discussions similaires

  1. Récupérer le code source d'une page HTML
    Par phyn04 dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 24/11/2016, 14h45
  2. <mx:html> Récupérer le code source d'une page
    Par Nanard_ dans le forum Flex
    Réponses: 0
    Dernier message: 15/01/2009, 09h35
  3. Comment recuperer le code source d une page HTML distante en javascript
    Par herbert dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/07/2006, 22h26
  4. [VBA Excel] Récuperer le code source d'une page html dans un string
    Par viniboy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/07/2006, 19h11
  5. Récupérer le code source d'une page web
    Par glRaZ dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/12/2004, 09h16

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