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 :

[DOM] Xpath sur pages en .aspx


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2017
    Messages : 4
    Points : 6
    Points
    6
    Par défaut [DOM] Xpath sur pages en .aspx
    Bonjour à tous.

    J'ai un souci qui me tracasse depuis plusieurs heures et dont je ne me sors pas...
    En résumé. Je récupère des données via dom et xpath sur les pages de site que je souhaite surveiller.

    Le code que j'utilise ressemble à ça

    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
     
    			/* RECUP NV PRIX */
    			$doc = new DOMDocument();
     
    			if (@$doc->loadHTML(file_get_contents("http://www.fnac.com/mp26142339/Garmin-fenix-3-montre-GPS-GLONASS/w-4"))==False){
    				echo '<td>erreur</td>';
    				$resulthtml .= '<td><span style="color : red">erreur : Page non chargée</span></td>';
    				echo '<td colspan="5">Page non chargée</td>';
    			}else{
    				//echo '<td>good</td>';
    				$req_xpath = "//*[@class='product-price']";
     
    				// create DOMXPath object with our DOMObject
     
    				$xpath = new Domxpath($doc);
     
    				$result = $xpath->query($req_xpath);
                                    $resultat_nvprix = htmlentities($result->item(0)->nodeValue, ENT_QUOTES|"ENT_HTML401", "UTF-8", true);
                         }
    Bref,ça ça marche sans problème sur les sites en php. Par contre impossible d'avoir un résultat sur les pages en .asp ou .aspx
    Une idée d'où peut venir le problème ?


    NB : J'ai bien entendu testé mon chemin XPath pour être sur que le problème ne vient pas de là : https://developer.yahoo.com/yql/cons...ceact%27%5D%22

    Test effectué sur la page : https://www.retto.fr/cyclisme/det/gp...-3-argent.aspx
    avec le Xpath suivant : //span[@class='priceact']

  2. #2
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,
    http://stackoverflow.com/questions/1...nswer-10524782

    J'ai testé sa solution et j'ai le même retour que le contenu de span.priceart obtenu avec YQL c'est-à-dire 367,39€ .. La page demandée étant encodée en ISO-8859-1, appliquer utf8_decode sur le retour permet d'obtenir le sans soucis , je ne sais si ça sera une solution fiable pour tout type de page que tu voudras "parser".

    PS: Une question , pour ce genre de chose on ne demande pas d'autorisation par hasard ?
    Le bienfait n'est jamais perdu

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2017
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Et bien, qui aurait cru que ça pouvait être aussi simple ! Suffisait donc de modifier l'user agent.
    Merci pour la réponse rapide. Je viens de faire le test en direct et cela semble fonctionner. Je verrai demain si c'est vraiment tout bon.

    Citation Envoyé par Willy_k Voir le message
    PS: Une question , pour ce genre de chose on ne demande pas d'autorisation par hasard ?
    En effet, le scrap est rarement apprécié. Mais je ne pompe pas tout le contenu d'un site. Je me contente de me récupérer certains prix automatiquement pour voir les évolutions chez différents marchands. C'est plus de l'usage perso et non lucratif.

    Il me reste tout de même une question... Comment fait Pixmania pour que le code source de ses pages n'apparaissent pas ? Essaie un Ctrl+U sur https://www.pixmania.fr/p/garmin-fen...igation-857829 et juste des liens vers des fichiers JS.

    Pourtant avec firebug tout s'affiche normalement. Bien entendu le "scrap" ne fonctionne pas sur ce type de page

  4. #4
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Je suppose que plus qu'ils utilisent angularJS ou Angular , le framework doit avoir cette particularité.. Tout se passe ou presque dans leur fichier app.js, ceci explique sûrement que CTRL+U n'affiche que le ou un "gabarit" de leur page.
    Le bienfait n'est jamais perdu

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

Discussions similaires

  1. [cURL] Envoi POST sur page aspx
    Par bourvil dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 27/04/2011, 13h58
  2. Renvoie automatique sur la page default.aspx
    Par lesanglier dans le forum Configuration
    Réponses: 3
    Dernier message: 08/10/2009, 22h50
  3. [DOM] Affichage sur une même page
    Par Herveg dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2008, 13h26
  4. [DOM] menu sur plusieurs pages
    Par elodie07 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 14/12/2007, 16h51
  5. Probleme affichage sur page aspx
    Par neo_2000_2006 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 14/08/2007, 15h39

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