Rechercher : dans
Par :

Recuperation data sur page et insertion mysql

Dernière réponse le 26 oct 2009 à 16:00:45 yoyo, le 26 oct 2009 à 09:10:06 
 Signaler ce message aux modérateurs

Bonjour,
Je souhaite savoir s'il est possible de recuperer des données sur une page web et de les inserer dans une base
mysql

site : http://weather.noaa.gov/pub/data/observations/metar/cycles/0­1Z.TXT

il faurait decouper et mettre dans 3 champs

champs1 : 2009/10/26 00:59
champs2 : MYEG
champs3 : 260059Z AUTO 09004KT 10SM CLR 26/24 A2999 RMK AO2

et ainsi desuite sachant que les champs 1 et 2 ont toujours le meme nombre de caracteres

merci pour votre aide

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « Recuperation data sur page et insertion mysql » dans :
Numéros de page dans Open Office VoirVoici les étapes à suivre pour ajouter des numéros de pages dans un document sous Open Office : 1.Choisissez Insertion - Pied de page et sélectionnez le style de page que vous souhaitez ajouter au pied de page. 2.Placez le curseur dans le pied...
[Webmaster] Publier facilement une vidéo dans une page web VoirPublier une vidéo dans une page web n'est pas toujours évident: Selon le format (AVI, MPG, MOV...) tout le monde ne possède pas forcément le bon plugin et le bon codec. En revanche, la quasi-totalité des navigateurs possèdent le plugin Flash (SWF)....

1

persol, le 26 oct 2009 à 09:47:28

Le format n'est pas vraiment Idéal, un XML serait bien plus adapté.

Mais su tu n'as aucune autre solotion, je te conseil de :

Soit passer par la librairie CURL (plutôt complexe)

Soit, comme il sagit d'un txt, de le parser avec les fonction natives fopen etc ...

Voilà voilà, tu as quelques pistes ...

Persol

Répondre à persol

2

yoyo, le 26 oct 2009 à 09:58:52

OK merci pour ta réponse .

il n y a que ce format

Répondre à yoyo

3

dodoecchi, le 26 oct 2009 à 10:23:18

Bonjour,

Je souhaite savoir s'il est possible de recuperer des données sur une page web et de les inserer dans une base
mysql

heuresement que oui !

alors si c'est ton fichier texte que tu veux insérer dans ta base de données, tu peux le faire grace à phpmyadmin et la fonction importer en CSV

le problème c'est que le CSV c'est un ligne = un set de données
alors que là tres données sont sur 2 lignes
bon, on va corriger ça

je te donne la méthode, tu feras toi même,
à chaque fois que j'essaye de tout faire, mon programme plante

1. copier coller dans un editeur de texte avancé
http://www.1pix.org/multi/images/fc3jdljsvd63oaxln984.png
Là on va convertir de 2 à 1 ligne par données
2. en mode expression régulière : remplacer \r\n\r\n par /replace/
\r\n par (un espace)
et enfin /replace/ par \r\n
http://www.1pix.org/multi/images/or4b0btq34x2jkw2j2o.png
3. dans un tableur gérant les données brut (comme openoffice), coller le résultat en tant que texte non formaté (ctrl+shift+v). séléctionner escape comme séparateur, séléctionner toutes les colonnes (ctrl+a dans le tableau du bas) et mettre Texte dans type de colonne. OK
4. on va fusionner les colonnes 1 et 2 puis les 4 5 6 etc.... Dans une nouvelle feuille, se mettre à la même position que la première entrée (normalement A1) et entrer
=CONCATENER(Feuille1.A1;" ";Feuille1.B1)
faire un glisser copier sur toutes les longueur de la liste
5. copier coller de la colonne C dans la B de la 2e feuille
6. prochaine colonne : =CONCATENER(Feuille1.D1;" ";Feuille1.E1;" ";Feuille1.F1;" ";Feuille1.G1;" ";Feuille1.H1;" ";Feuille1.I1;" ";Feuille1.L1;" ";Feuille1.M1;" ";Feuille1.N1)
http://www.1pix.org/multi/images/fw422u39lq43p0gt6z1d.png
c'est prêt pour insérer dans la base de donnée !
7. en étant bien sur la 2e feuille : fichier , enregistrer sous, format csv, editer les paramètres du filtre, enregistrer, conserver le format actuel, vérifier si séparateur de champ = la virgule et de texte = le double guillemet, ok, ok sur l'avertissement
8. dans phpmyadmin, section importer, séléctionne le fichier csv. paramètres d'importation: changer point virgule en virgule; noms des colonnes à changer s'il est différent de celui de la table, ou si l'ordre est modifié. dans mon exemple j'ai mis une clé primaire auto incrémentielle, donc je spécifie les champs :
http://www.1pix.org/multi/images/2rkxtp5389eda4zz1xyp.png
9. et voilà !! http://www.1pix.org/multi/images/jkgnp9svmufnao0rpr7.png


Dorian

PS : mets à jour IE6! on est en 2009, plus en 2001 Vous n'utilisez plus les VHS, alors pourquoi IE6 ?

Répondre à dodoecchi

4

persol, le 26 oct 2009 à 11:02:10

Sinon, tu peux utiliser la fonction file('monfichier.txt');

Cette fonction permet de te retourner chaque ligne de ton txt dans un tableau.

ex:

<?php 
$monTableau = file('http://weather.noaa.gov/pub/data/observations/metar/cycles/01Z.TXT');
$max = count($monTableau);
for ($i = 0; $i<$max; $i++)
{
print_r($monTableau[$i] . '<br />');
}
?>


ce code t'affiche toutes les lignes du fichier TXT après, rien ne t'empêche de faire des enregistrement dans la base de donnée.

++
GaBy

Répondre à persol

5

yoyo, le 26 oct 2009 à 12:18:26

Merci à tous les 2
j essaye ca ce soir et vous tiens au courant .

Répondre à yoyo

6

dodoecchi, le 26 oct 2009 à 13:43:26

@persol
oula, j'aimerais bien voir ça Vous n'utilisez plus les VHS, alors pourquoi IE6 ?

Répondre à dodoecchi

7

persol, le 26 oct 2009 à 14:18:19

SI SI je t'assure ;) je vient de tester et ca marche nickel.

test et tu verra bien :p

++
GaBy

Répondre à persol

8

dodoecchi, le 26 oct 2009 à 14:21:37

Montre, j'ai fait ma méthode moi Vous n'utilisez plus les VHS, alors pourquoi IE6 ?

Répondre à dodoecchi

9

yoyo, le 26 oct 2009 à 15:37:20

J ai essayé la methode de persol j obtiens rien .

En fait apres reflexion , il faudrait recuperer les données de la page et les mettre dans un fichier txt .
Apres et ce sera plus simple pour moi , je voudrais a l aide d'une base acces recuperer ce fichier txt et le mettre dans une table .
apres j ai un petit programme qui pourra travailler sur la table

merci

Répondre à yoyo

10

persol, le 26 oct 2009 à 15:45:33

Tien, je t'es uploader le script sur mon serveur. laisse charger une petite minute et regarde le resultat.

http://87.106.207.109/nelly/commentcamarche.php


script :

<?php 
$monTableau = file('http://weather.noaa.gov/pub/data/observations/metar/cycles/01Z.TXT');
$max = count($monTableau);
for ($i = 0; $i<$max; $i++)
{
print_r($monTableau[$i] . '<br />');
// ici tu fait tes enregistrement base de donnée avec tes conditions etc
}
?>



++
GaBy

Répondre à persol

11

persol, le 26 oct 2009 à 15:51:03

PS : Pourquoi veux tu le mettre dans un txt alors que le fichier est deja en format txt ....

Répondre à persol

12

yoyo, le 26 oct 2009 à 16:00:02

En fait comme je disais ,

je voudrais que les données présentes dans la page web soient mises dans une base access .
apres le reste je sais faire .

merci

Répondre à yoyo

13

 dodoecchi, le 26 oct 2009 à 16:00:45

Le résultat m'importe peu,
je veux voir ton script php Vous n'utilisez plus les VHS, alors pourquoi IE6 ?

Répondre à dodoecchi