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 :

Récupérer une phrase d'une page WEB


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut Récupérer une phrase d'une page WEB
    Bonjour,

    Je me casse la tête depuis un moment pour essayer de récupérer deux phrases d'une page WEB.

    En fait, je suis entrain de développer une base de données, et pour éviter de saisir tous les champs dont les informations sont connues, je récupère quelques infos du WEB

    J'ai suivi ce tuto http://www.dinduks.com/tutoriel-recu...web-avec-curl/

    mais comme le POO n'est pas mon fort, je n'y arrive pas
    Par exemple de la code d'une page Web ci-dessous, je veux récupérer uniquement les Coordonnées Est et Nord

    Comment faire SVP

    Merci

    Code html : 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
    22
    23
    24
    25
    26
    27
    28
    29
    </td></tr>
     
                <tr>
             <td width="40%" class=style2 height=21 align=right>np:</td> 
    		 <td width="2%" class=style2 height=21></td>
               <td width="58%" class=style2 height=21 >Paris </td>
            </tr>            <tr>
              <td width="40%" class=style2 height=21 align=right>Codes:</td>
    		  <td width="2%" class=style2 height=21></td>
             <td width="58%" class=style2 height=21 > 75</td>
            </tr>
     
            <tr>
             <td width="40%" class=style2 height=21 align=right>Coordonnées Nord :</td>
    		 <td width="2%" class=style2 height=21></td>
    <td width="58%" class=style2 height=21 >48° 51' 24''  </td>
            </tr>
                            <tr>
              <td width="40%" class=style2 height=21 align=right>Coordonnées Est :</td> <td width="2%" class=style2 height=21></td>
              <td width="58%" class=style2 height=21 >2° 21' 07'' </td>
            </tr> 
                            <tr>
              <td width="40%" class=style2 height=21 align=right>Densité:</td> <td width="2%" class=style2 height=21></td>
              <td width="58%" class=style2 height=21> 21 289 hab./km2</td>
            </tr>
                            <tr>
               <td width="40%" class=style2 height=21 align=right>Population:</td></td> <td width="2%" class=style2 height=21></td>
              <td width="58%" class=style2 height=21> 12 161 542 hab </td>
            </tr>

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je te redirige vers les expressions régulières mais pour parser tout ça, ça va pas être du gâteau

  3. #3
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    oula ça ma parait un peu compliqué

    Mais je pense qu'avec CURL et les DOM c'est faisable, mais moi je ne sais pas faire

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    tu peux aussi le considérer comme un fichier xml et aller chercher les éléments et contenu que tu veux. en tout cas bonne chance :p

  5. #5
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    Si les ligne sont toujours les même, ce n'est pas un problème. Mais la ça change

  6. #6
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    Bon apparement les phrase que je veux récupéré sont toujours dans la même ligne.

    Donc voilà ma solution au cas où cela servirait (Excusez les fautes d'orthographe, j'ai commenté à l'arrache pour le mettre sur le forum)

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    // Lit une page web dans un tableau.
    $lines=file($url);
     
    //Je déclare un nouveau tableau pou y stocker les donnés récupérées 
    $tab_element=array();
     
    // Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
     foreach ($lines as $line_num => $line) {
     
    // les infos que je veux récuperer se trouvent entre la ligne 170 et 180, je coupe après la ligne 190
    	if ($line_num>170 && $line_num<180){		
     
    // je supprimer les tags HTML, si le résultat n'est pas vide alors j'ajoute la valeur au tableau $tab_element		
    		if(strip_tags($line)!=""){ 
     
     
    			$tab_element []=strip_tags($line);
     
     
    		}
     
    	}
    	// je coupe à la ligne 190
    	if ($line_num>190) break; 
     
    }
    // je compte les élements du tableau avant qu'un élément y soit supprimé
    $nbr=count($tab_element);
     
    // Je boucle pour supprimer les éléments vides ou qui ne commencent pas par un chffre.
    for($i=0;$i<$nbr;$i++) {
    	// je supprime les éspaces de chaque élements
    	$tab_element[$i]=trim($tab_element[$i]);
     
    	if (empty($tab_element[$i]) OR !preg_match('/^[0-9]/',$tab_element[$i])) {
     
    		unset($tab_element[$i]);
    	}
    }
    // je garde uniquement les valeurs du tableau qui ne sont pas vides
    $tab_element=array_values($tab_element);
     
    // J'affiche le tableau
    print_r($tab_element);

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

Discussions similaires

  1. [SP-2010] récupérer les terme d'une colonne d'une liste dans une autre liste
    Par Noruk dans le forum SharePoint
    Réponses: 2
    Dernier message: 09/02/2015, 18h15
  2. [WD16] Récupérer la valeur d'une colonne d'une table d'une ligne précise
    Par elghers_hocine dans le forum WinDev
    Réponses: 16
    Dernier message: 06/05/2011, 18h11
  3. [XL-2003] Insérer la valeur d'une cellule dans une phrase d'une autre
    Par DonaldTron dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2009, 19h50
  4. Réponses: 3
    Dernier message: 29/04/2008, 14h14
  5. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23

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