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

Langage PHP Discussion :

extraction d'une zone d'une page récupérée par curl


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Points : 19
    Points
    19
    Par défaut extraction d'une zone d'une page récupérée par curl
    bonsoir,

    je récupère des pages par un curl et je souhaite extraire certaines informations pour les stocker en base.

    pb comment extraire ces zones ?

    voici les chemins extraits avec l'inspecteur de chrome

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    html / body / div#wrapper / div.page-container / div#push-wrap / div#push-main / div#main / div.thing-card / div.thing-card-header.row-fluid / div.span9 / h3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    html / body / div#wrapper / div.page-container / div#push-wrap / div#push-main / div#main / div.thing-card / div.thing-card-main.row-fluid / iv.thing-card-right / div.thing-stats.row-fluid / div.likes.span4 / div.value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    html / body / div#thing-downloads.modal.hide.fade.modal-overflow.in / div.modal-body / table.table.table-hover.table-striped / tbody / tr / td.thing-dl-filename / div / a.track
    merci car là je sèche
    le script tourne sous ubuntu, php, curl

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    merci c'est justement ce que je cherchais.

    par contre je n'arrive pas à faire mon 3ème cas

    dans le code source j'ai cette balise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="thing-downloads" class="modal hide fade modal-overflow">
    qui est vue par l'inspecteur chrome comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div#thing-downloads.modal.hide.fade.modal-overflow.in
    déjà dans le source il n'y a pas le "in"

    dans le query j'ai tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = $xpath->query("/html/body/div[@id='thing-downloads']");
    --> KO sans erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = $xpath->query("/html/body/div[@id='thing-downloads' @class='modal hide fade modal-overflow']");
    --> KO avec erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Warning: DOMXPath::query(): Invalid predicate in ...
     
    Warning: DOMXPath::query(): Invalid expression in ...
     
    Warning: Invalid argument supplied for foreach() in ...
    Comment traiter une balise div avec un id et un class ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    un début de réponse
    il faut mettre un AND entre id et class

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = $xpath->query("/html/body/div[@id='thing-downloads' and @class='modal hide fade modal-overflow']");
    --> KO sans erreur

    par contre il ne me retourne pas le contenu mais je pense que cela vient du "in"

    à savoir que cela concerne une fenetre qui s'ouvre quand on clique sur un bouton mais je ne pense pas que cela soit un pb vu que nous sommes dans le source




    merci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    En essayant avec ca //div[@id='thing-downloads'] ?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    merci c'est ok, j'ai découvert dans chrome que l'on pouvait afficher le xpath qui aide grandement pour ensuite l'insérer dans le script

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

Discussions similaires

  1. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. Réponses: 3
    Dernier message: 29/04/2008, 14h14
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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