A voir également:
- [EasyPHP] Charger un tableau HTML dans MySQL
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Telecharger easyphp - Télécharger - Divers Web & Internet
- Trier un tableau excel - Guide
14 réponses
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
25 juin 2009 à 14:30
25 juin 2009 à 14:30
Bonjour,
en quel format est le tableau récuipéré ?
une idée qui fonctionne :
copier le tableau
le coller dans excel
le sauvegarde en csv
l'importer dans le sgbd
en quel format est le tableau récuipéré ?
une idée qui fonctionne :
copier le tableau
le coller dans excel
le sauvegarde en csv
l'importer dans le sgbd
Le fichier récupéré est un fichier HLMT contenant seulement un tableau de la forme:
<HTML>
<TABLE>
.....
</TABLE>
</HTML>
De plus, ce fichier qui est une page web au final peut être ouvert dans excel et chaque donnée d'une cellule du tableau HTML est transféré dans une cellule excel.
Mais je ne pense pas que ce soit une méthode très simple pour l'automatisation de la tâche. Sauf peut être en .vbs car il me semble que ce language peuyt controller les applications MS.
Mais si vous avez une solution qui permet d'utiliser directement le fichier HTML qui soit plus simple je suis prenneur.
<HTML>
<TABLE>
.....
</TABLE>
</HTML>
De plus, ce fichier qui est une page web au final peut être ouvert dans excel et chaque donnée d'une cellule du tableau HTML est transféré dans une cellule excel.
Mais je ne pense pas que ce soit une méthode très simple pour l'automatisation de la tâche. Sauf peut être en .vbs car il me semble que ce language peuyt controller les applications MS.
Mais si vous avez une solution qui permet d'utiliser directement le fichier HTML qui soit plus simple je suis prenneur.
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
25 juin 2009 à 15:21
25 juin 2009 à 15:21
Bonjour,
si c'est un tableau d'un site qui n'est pas le vôtre je ne vois pas d'autre manipulation.
si ce tableau est sur votre site, un scripy php peut créer un fichier csv et vous pouvez faire un téléchargement du fichier ainsi créer.
sinon je ne vois pas
si c'est un tableau d'un site qui n'est pas le vôtre je ne vois pas d'autre manipulation.
si ce tableau est sur votre site, un scripy php peut créer un fichier csv et vous pouvez faire un téléchargement du fichier ainsi créer.
sinon je ne vois pas
Je me suis peut être mal exprimé.
Le tableau provient d'une page web d'un site qui n'est pas le mien.
Avec un script .vbs je peux copier le code du tableau et créer un fichier HTML avec ce code et les balises <HTML> ce qui fait que j'ai ce tableau en local sur ma machine.
Je suis interressé par votre solution scripty php pour créer un fichier csv à partir du fichier HTML à condition que je puisse par la suite importer les données du csv vers ma base MySQL.
Si cela est possible et si cela ne vous gène pas, j'aimerai bien que vous me donniez la marche à suivre.
Merci d'avance.
Le tableau provient d'une page web d'un site qui n'est pas le mien.
Avec un script .vbs je peux copier le code du tableau et créer un fichier HTML avec ce code et les balises <HTML> ce qui fait que j'ai ce tableau en local sur ma machine.
Je suis interressé par votre solution scripty php pour créer un fichier csv à partir du fichier HTML à condition que je puisse par la suite importer les données du csv vers ma base MySQL.
Si cela est possible et si cela ne vous gène pas, j'aimerai bien que vous me donniez la marche à suivre.
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
25 juin 2009 à 15:45
25 juin 2009 à 15:45
$filename = "nom.csv";
//ouvrir le fichier
if (!$filecsv = fopen($filename, 'w')) {
echo "Impossible d'ouvrir le fichier ($filename)<br>";
exit;
}
$zone = $d."\n";
// $d contient les champ séparés par virgule
if (!fwrite($filecsv, $zone)) {
echo "Erreur d'écriture dans le fichier ($filename)<br>";
exit;
}
fclose($filecsv);
//ouvrir le fichier
if (!$filecsv = fopen($filename, 'w')) {
echo "Impossible d'ouvrir le fichier ($filename)<br>";
exit;
}
$zone = $d."\n";
// $d contient les champ séparés par virgule
if (!fwrite($filecsv, $zone)) {
echo "Erreur d'écriture dans le fichier ($filename)<br>";
exit;
}
fclose($filecsv);
Où indique-t'on l'emplacement du fichier HTML dans ce script?
Ce script peut-il etre lancé automatiquement?
Merci.
Ce script peut-il etre lancé automatiquement?
Merci.
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
25 juin 2009 à 15:55
25 juin 2009 à 15:55
je n'ai mis que la partie création du csv.
il faut lire le fichier htm pour créer ligne / ligne le fichier csv
il me vient une autre idée pour capturer la page : voir avec un aspirateur de site.
mais dans toutça je ne vois pas bien comment tout automatiser
il faut lire le fichier htm pour créer ligne / ligne le fichier csv
il me vient une autre idée pour capturer la page : voir avec un aspirateur de site.
mais dans toutça je ne vois pas bien comment tout automatiser
Pour la création du csv : ok
Je ne vois pas très bien comment lire le fichier htm pour créer ligne / ligne le fichier csv . Je ne m'y connais pratiquement pas en PHP (je manque de pratique).
Si vous pouvez m'indiquer comment lire le fichier HTML et comment insérer chaque contenu de cellule dans le fichier .csv
Pour récupérer le tableau sur le web, je peux utiliser le planificateur de tache ou bien une boucle avec une fonction sleep pour la périodicité.
Il me semble que l'on peut lancer des scripts PHP de manière périodique sur un serveur apache? A confirmer.
Mais l'automatisation je peux m'en occuper plus tard.
Voici mes checkpoints:
- récupérer les données du web
- insertion des données dans la base MySQL
- traitement des données dans la base MySQL
- automatisation des précédentes taches
Je ne vois pas très bien comment lire le fichier htm pour créer ligne / ligne le fichier csv . Je ne m'y connais pratiquement pas en PHP (je manque de pratique).
Si vous pouvez m'indiquer comment lire le fichier HTML et comment insérer chaque contenu de cellule dans le fichier .csv
Pour récupérer le tableau sur le web, je peux utiliser le planificateur de tache ou bien une boucle avec une fonction sleep pour la périodicité.
Il me semble que l'on peut lancer des scripts PHP de manière périodique sur un serveur apache? A confirmer.
Mais l'automatisation je peux m'en occuper plus tard.
Voici mes checkpoints:
- récupérer les données du web
- insertion des données dans la base MySQL
- traitement des données dans la base MySQL
- automatisation des précédentes taches
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
25 juin 2009 à 17:35
25 juin 2009 à 17:35
Bonsoir,
J'ai le même problème que vous : comment récupérer les données du web sans faire de manipulation.
après on peut même envisager d'alimenter la base sql directement avec le script php, sans passer par les phases intermédiaires
J'ai le même problème que vous : comment récupérer les données du web sans faire de manipulation.
après on peut même envisager d'alimenter la base sql directement avec le script php, sans passer par les phases intermédiaires
Moi j''utilise ce script dans un fichier .vbs sous windows
Set ie = CreateObject("InternetExplorer.Application") //objet de controle de IE
ie.Navigate ("Site WEB") // navigation vers la page web souhaité (en mode invisible)
do while ie.readystate<>4 // boucle tant que la page web n'est pas totalement chargée
WScript.Sleep (100) // script au repos
Loop // fin de boucle
WScript.Sleep (1000) //script au repos
Set fs = CreateObject("Scripting.FileSystemObject") //objet de controle systeme pour création de fichier
Set fich = fs.OpenTextFile("Chemin d'access fichier HTML", 2, true) // ouverture du fichier
fich.write "<HTML>"&ie.document.getElementsByTagName("table").item(1).outerhtml&"</HTML>"
//enregistrement du contenu du deuxième élément HTML TABLE de la page web dans le fichier
ie.Quit // fermeture de IE
Set ie=Nothing
Ce script fonctionne parfaitement rant que la structure HTML de la page reste inchangé.
Si cela peut vous aider à récupérer des données d'une page web.
Set ie = CreateObject("InternetExplorer.Application") //objet de controle de IE
ie.Navigate ("Site WEB") // navigation vers la page web souhaité (en mode invisible)
do while ie.readystate<>4 // boucle tant que la page web n'est pas totalement chargée
WScript.Sleep (100) // script au repos
Loop // fin de boucle
WScript.Sleep (1000) //script au repos
Set fs = CreateObject("Scripting.FileSystemObject") //objet de controle systeme pour création de fichier
Set fich = fs.OpenTextFile("Chemin d'access fichier HTML", 2, true) // ouverture du fichier
fich.write "<HTML>"&ie.document.getElementsByTagName("table").item(1).outerhtml&"</HTML>"
//enregistrement du contenu du deuxième élément HTML TABLE de la page web dans le fichier
ie.Quit // fermeture de IE
Set ie=Nothing
Ce script fonctionne parfaitement rant que la structure HTML de la page reste inchangé.
Si cela peut vous aider à récupérer des données d'une page web.
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
25 juin 2009 à 18:41
25 juin 2009 à 18:41
On recadre car on ne doit pas être en phase.
tout ce que j'ai dit jusqu'à maintenant c'est avec une idée PhP.
pas VBs.
un script Php permet (mais vous le savez sans doute) de lire un fichier text, d'en manipuler les données et de mettre à jour une base de données.
si ainsi le fichier lu contient par exemple val1 val2 et val3
on peut facilement faire une requêtre sql
insert into matable values('val1','val2','val3');
tout ce que j'ai dit jusqu'à maintenant c'est avec une idée PhP.
pas VBs.
un script Php permet (mais vous le savez sans doute) de lire un fichier text, d'en manipuler les données et de mettre à jour une base de données.
si ainsi le fichier lu contient par exemple val1 val2 et val3
on peut facilement faire une requêtre sql
insert into matable values('val1','val2','val3');
Ah pardon j'ai fait erreur.
J'ai trouvé un site web assez utile et je pense qu'il y a ce que vous recherchez:
http://jacxl.free.fr/cours_xl/cadres.html?ex=
De mon coté, je pense qu'il est possible que je puisse modifier mon tableau HTML avec un script .vbs en retirant tout les espaces les balises <(/)TABLE> et <(/)TR> puis en remplacant les balises <(/)TD> par un espace.
Le fichier text pourra être ainsi importé dans MySQL avec la commande
insert into matable values('val1','val2','val3');
Dites moi si je me rapproche du but.
Autre question, peut-on mettre un script php en pause comme on peut le faire en vbs avec la commande WScript.Sleep (100)?
Merci
J'ai trouvé un site web assez utile et je pense qu'il y a ce que vous recherchez:
http://jacxl.free.fr/cours_xl/cadres.html?ex=
De mon coté, je pense qu'il est possible que je puisse modifier mon tableau HTML avec un script .vbs en retirant tout les espaces les balises <(/)TABLE> et <(/)TR> puis en remplacant les balises <(/)TD> par un espace.
Le fichier text pourra être ainsi importé dans MySQL avec la commande
insert into matable values('val1','val2','val3');
Dites moi si je me rapproche du but.
Autre question, peut-on mettre un script php en pause comme on peut le faire en vbs avec la commande WScript.Sleep (100)?
Merci
giheller
Messages postés
1875
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
3 février 2024
142
25 juin 2009 à 20:53
25 juin 2009 à 20:53
bonsoir,
à la place d'un espace mettez plutôt un caractère spécial, genre ; qui permettrait à php de faire une instruction explode
à la place d'un espace mettez plutôt un caractère spécial, genre ; qui permettrait à php de faire une instruction explode
D'accord j'y penserai.
Si jamais vous vous y connaissez en vbs, j'aimerai bien que vous me donniez les commandes pour supprimer des espaces dans fichier texte et remplacer les balises par un caractère spécial.
J'ai fait la demande sur d'autre forums mais si jamais vous savez ca m'aiderai bien.
Si jamais ce n'est pas le cas, je vous remerci pour votre aide et je vous souhaite une bonne continuation.
Si jamais vous vous y connaissez en vbs, j'aimerai bien que vous me donniez les commandes pour supprimer des espaces dans fichier texte et remplacer les balises par un caractère spécial.
J'ai fait la demande sur d'autre forums mais si jamais vous savez ca m'aiderai bien.
Si jamais ce n'est pas le cas, je vous remerci pour votre aide et je vous souhaite une bonne continuation.