Récupération de données a partir d'un code source

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération de données a partir d'un code source

Re: Récupération de données a partir d'un code source

par sirakawa » 09 nov. 2012, 18:18

Voici un bout d'idée

<?PHP
$donnees ="
<table>
<tr>
<td><font size='1'>&nbsp;LUN 05/11/2012</font></td>
<td align='center'><font size='1'>7.07</font></td>
<td align='center' bgcolor='#EFEDDE'><font size='1'>8.43</font></td>
<td align='center' bgcolor='#EFEDDE'><font size='1'>9.07</font></td>
<td align='center'><font size='1'>12.05</font></td>
<td align='center'><font size='1'>14.18</font></td>
<td align='center'><font size='1'>18.28</font></td>
<td align='center'><font size='1'>&nbsp;</font></td>
</tr>
<tr>
<td><font size='1'>&nbsp;MAR 06/11/2012</font></td>
<td align='center'><font size='1'>7.07</font></td>
<td align='center' bgcolor='#EFEDDE'><font size='1'>8.43</font></td>
<td align='center' bgcolor='#EFEDDE'><font size='1'>9.07</font></td>
<td align='center'><font size='1'>12.05</font></td>
<td align='center'><font size='1'>14.18</font></td>
<td align='center'><font size='1'>18.28</font></td>
<td align='center'><font size='1'>&nbsp;</font></td>
</tr>
</table>
";
print_r($donnees);

$deb_ligne = strpos($donnees, "<tr>", 0);
$fin_ligne = strpos($donnees, "</tr>",$deb_ligne);
$longueur = $fin_ligne - $deb_ligne;
print "<br>debut $deb_ligne fin $fin_ligne de $longueur";	
	
	
while ($deb_ligne !== false)
{
	$deb_ligne = strpos($donnees, "<tr>", $fin_ligne);
	$fin_ligne = strpos($donnees, "</tr>",$deb_ligne);
         $longueur = $fin_ligne - $deb_ligne;
           print "<br>debut $deb_ligne fin $fin_ligne de $longueur";	
	
}

?>

Re: Récupération de données a partir d'un code source

par steph60400 » 08 nov. 2012, 21:49

Tout a fait d'accord ; je regarde ta doc ; l'ingère et pose les questions après.
Merci beaucoup pour l'aide
stephan

Re: Récupération de données a partir d'un code source

par xTG » 08 nov. 2012, 19:42

En fait il suffit d'aller voir la doc de ce que je t'ai proposé pour trouver des exemples d'utilisation. :)
http://fr2.php.net/dom

Toujours privilégier la documentation PHP à une recherche sur un quelconque moteur.
On y trouve des informations bien plus ciblées.
Pour ma part je ne vais sur les moteurs de recherche que si les exemples de la documentation ne traite pas de l'utilisation spéciale que je veux faire de certaines fonctions ou class.

Re: Récupération de données a partir d'un code source

par steph60400 » 08 nov. 2012, 16:56

Non, en fait, un debut de piste .
Après, je vais sur internet et je me forme.
il est beaucoup trop difficile de faire seul une recherche sur google ( on trouve tout et rien ) d'où l'intéret d'une aide.
cordialement

Re: Récupération de données a partir d'un code source

par xTG » 08 nov. 2012, 14:30

Donc comment récupèrer le code source de la page en automatique
Stephan
Tu attends un code complet et fonctionnel ?

Re: Récupération de données a partir d'un code source

par steph60400 » 08 nov. 2012, 10:52

Donc comment récupèrer le code source de la page en automatique
Stephan

Re: Récupération de données a partir d'un code source

par sirakawa » 08 nov. 2012, 10:33

Si toutes les données voulues sont encadrées par
<table...>
</table>
et que ce couple est unique dans la page, on a fait un premier pas.
Ensuite il faut repérer les <tr>:

après on trouve ça (je les ai remis sur la même ligne pour que ce soit plus commode à lire):
<td><font size="1">&nbsp;LUN 05/11/2012</font></td>
<td align="center"><font size="1">7.07</font></td>
<td align="center" bgcolor="#EFEDDE"><font size="1">8.43</font></td>
<td align="center" bgcolor="#EFEDDE"><font size="1">9.07</font></td>
<td align="center"><font size="1">12.05</font></td>
<td align="center"><font size="1">14.18</font></td>
<td align="center"><font size="1">18.28</font></td>
<td align="center"><font size="1">&nbsp;</font></td>
Les valeurs se trouvent entre > et <, et ce sont : 1 ou deux chiffres, le point décimal 1 ou deux chiffres. Avec une expression régulière, ça devrait rouler....

Re: Récupération de données a partir d'un code source

par xTG » 08 nov. 2012, 09:55

Tu peux donc regarder du côté de la class DOM pour te balader dans le HTML et récupérer les données que tu souhaites.

Re: Récupération de données a partir d'un code source

par steph60400 » 08 nov. 2012, 08:34

Bonjour, en fait dans un premier temps, je voudrais appendre à les données via le code source ;
voici un exemple du code source pour la journée du lundi

<td><font size="1">&nbsp;LUN 05/11/2012</font></td>
<td align="center"><font size="1">
7.07

</font></td>
<td align="center" bgcolor="#EFEDDE"><font size="1">
8.43

</font></td>
<td align="center" bgcolor="#EFEDDE"><font size="1">
9.07

</font></td>
<td align="center"><font size="1">
12.05

</font></td>
<td align="center"><font size="1">
14.18

</font></td>
<td align="center"><font size="1">
18.28

</font></td>
<td align="center"><font size="1">
&nbsp;

</font></td>
<td align="center"><font size="1">
&nbsp;

</font></td>
<td align="center"><font size="1">0.24</font></td>
<td><font size="1">
&nbsp;
</font></td>
<td align="right"><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;
</font></td>
<td align="right"><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;
</font></td>
<td align="right"><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;

</font></td>
<td><font size="1">
&nbsp;

</font></td>
<td align="right"><font size="1">8.44</font></td>
</tr>

<tr>

Cordialement
stephan

Re: Récupération de données a partir d'un code source

par xTG » 07 nov. 2012, 19:09

Le tout est de savoir en fait s'il y a un arbre DOM valide par exemple, ou bien s'il faut rechercher un motif spécial qui peut se trouver à une ligne totalement aléatoire.
Car récupérer une ligne fixe c'est le meilleur moyen de faire de nombreuses mises à jour, car si la source change tu dois aussi modifier ton système.

Re: Récupération de données a partir d'un code source

par sirakawa » 07 nov. 2012, 18:30

ligne 740, 744 etc, il y a les heures.
qu'y a-t-il juste avant chaque heure et juste après? Est-ce toujours la même chose?

Re: Récupération de données a partir d'un code source

par steph60400 » 07 nov. 2012, 15:13

Oui, j'ai bien compris ;
donc, suite à un formulaire , je récupère une page php qui me donne les heures travaillées

Je peux via CHROME lister le code source etsur les lignes 740, 744 etc, il y a les heures. Ce sont ces données que je voudrais récupérer.

cordialement
stephan

Re: Récupération de données a partir d'un code source

par sirakawa » 07 nov. 2012, 15:04

Sous quelle forme, sans quoi il est douteux que Xtg puisse t'aider?
du genre:
Nombre;nombre;nombre
Nombre;nombre;nombre
ou:
nom:nombre;nom:nombre....
ou autre?

Re: Récupération de données a partir d'un code source

par steph60400 » 07 nov. 2012, 14:36

Il s'agit juste de données numeriques.
cordialement
stephan

Re: Récupération de données a partir d'un code source

par xTG » 07 nov. 2012, 14:09

Avant de penser à comment les isoler il faudrait regarder ce que tu récupères. ;)