Recuperation data sur page et insertion mysql
yoyo
-
dodoecchi Messages postés 480 Statut Membre -
dodoecchi Messages postés 480 Statut Membre -
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/01Z.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
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/01Z.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
A voir également:
- Recuperation data sur page et insertion mysql
- App data - Guide
- Comment supprimer une page sur word - Guide
- Touche insertion clavier - Guide
- Imprimer tableau excel sur une page - Guide
- Insertion filigrane word - Guide
8 réponses
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
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
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é
https://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
https://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)
https://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 :
https://www.1pix.org/multi/images/2rkxtp5389eda4zz1xyp.png
9. et voilà !! https://www.1pix.org/multi/images/jkgnp9svmufnao0rpr7.png
Dorian
PS : mets à jour IE6! on est en 2009, plus en 2001
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é
https://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
https://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)
https://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 :
https://www.1pix.org/multi/images/2rkxtp5389eda4zz1xyp.png
9. et voilà !! https://www.1pix.org/multi/images/jkgnp9svmufnao0rpr7.png
Dorian
PS : mets à jour IE6! on est en 2009, plus en 2001
Sinon, tu peux utiliser la fonction file('monfichier.txt');
Cette fonction permet de te retourner chaque ligne de ton txt dans un tableau.
ex:
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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 :
++
GaBy
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
il n y a que ce format