Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2377 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Résolut] Récupérer le contenu d'une colonne au format html

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolut] Récupérer le contenu d'une colonne au format html

n°995403
Profil sup​primé
Posté le 27-12-2007 à 17:48:10  answer
 

Yep, salut, bonjour, hello,
Sur un Gnu/Linux Debian, je souhaite récupérer le contenu d'une colonne d'un tableau au format html dans un fichier texte.
Comment procéder ?
 
C'est un gros fichier.
 
 [:pingouinator]


Message édité par Profil supprimé le 29-12-2007 à 17:03:01
mood
Publicité
Posté le 27-12-2007 à 17:48:10  profilanswer
 

n°995410
Ik12
Posté le 27-12-2007 à 18:31:20  profilanswer
 

Copier-coller?


---------------
on est au 21 siècle plus person ne écrit correctement sur les forum ni sur msn ni sur les SMS.
n°995427
Profil sup​primé
Posté le 27-12-2007 à 19:27:41  answer
 

Ik12 a écrit :

Copier-coller?


Je vois pas ?

n°995865
p-seeker23
Posté le 28-12-2007 à 19:06:35  profilanswer
 

Si le code HTML est assez propre, ceci devrait marcher :
 
gawk -f extract_column_from_html.gawk Tableau.html > resultat.txt
 
 
extract_column_from_html.gawk:

BEGIN{ TD = 0 }
 
/<\/tr/ { TD = 0 }
 
/<td/ {  
 TD++
 cell_content = ""
 if(TD==4) {
  getline
  while ( $0 !~ /<\/td/ ) {  
   if ( cell_content == "" ) cell_content = gensub(/&nbsp;|^[ \t]*|;/, "", "g", $0)
   else                      cell_content = cell_content " " gensub(/&nbsp;|^[ \t]*/, "", "g", $0)
   getline
  }    
  print cell_content
  }
}


 
Le numéro de la colonne du tableau que tu veux est à mettre dans le "if(TD==4)" { (ici colonne n°4).

n°995956
Profil sup​primé
Posté le 29-12-2007 à 06:18:31  answer
 

Yep, merci, je vais tester !
Bonne journée !

n°995957
Profil sup​primé
Posté le 29-12-2007 à 07:54:37  answer
 

Fichier résuktat vide  :whistle:  
 
Merci p-seeker23, merci tout de me pour ce code.
 
En fait mon code est généré par Access.

Message cité 1 fois
Message édité par Profil supprimé le 29-12-2007 à 07:55:24
n°995958
p-seeker23
Posté le 29-12-2007 à 08:45:19  profilanswer
 


 
"Si le code HTML est assez propre" disais-je.
Ca m'étonnerait fortement que le code HTML produit par Access le soit ! J'ai déjà eu à travailler sur du "HTML-doc": laisse tomber ! Il y avait des <span>s de partout, c'est tout juste si on repérait la balise <html>, ..  :non:  
 
Ceci-dit, si tu me donne un exemple de ligne de ton tableau (le code HTML compris entre deux balises <tr> .. </tr> ), je te garantie que tu auras une solution !  :sol:  
J'ai juste cinq ans d'expérience professionnelle dans la manipulation de awk, sed et compagnie, les 10 derniers mois ayant-je à jouer à ce petit jeu (manipuler des fichiers de données pour formattage et extraction d'infos...) quasi-tous les jours.. si tu savais le genre de clowneries qu'on m'a demandé de faire avec des fichiers texte !  :ouch:

n°995968
Profil sup​primé
Posté le 29-12-2007 à 11:01:47  answer
 

Bien content de tomber sur toi en tout cas.
Voici un bout de code :

Code :
  1. <TR>
  2. <TD DIR=LTR ALIGN=RIGHT>828651</TD>
  3. <TD DIR=LTR ALIGN=LEFT>à-côté</TD>
  4. <TD DIR=LTR ALIGN=LEFT>akOte</TD>
  5. <TD DIR=LTR ALIGN=LEFT>à-côté</TD>
  6. <TD DIR=LTR ALIGN=LEFT>NOM</TD>
  7. <TD DIR=LTR ALIGN=LEFT>m</TD>
  8. <TD DIR=LTR ALIGN=LEFT>s</TD>
  9. <TD DIR=LTR ALIGN=RIGHT>0,00</TD>
  10. <TD DIR=LTR ALIGN=RIGHT>0,68</TD>
  11. <TD DIR=LTR ALIGN=RIGHT>0,00</TD>
  12. <TD DIR=LTR ALIGN=RIGHT>0,34</TD>
  13. <TD></TD>
  14. <TD DIR=LTR ALIGN=RIGHT>1</TD>
  15. <TD DIR=LTR ALIGN=RIGHT>8</TD>
  16. <TD DIR=LTR ALIGN=RIGHT>1</TD>
  17. <TD DIR=LTR ALIGN=RIGHT>6</TD>
  18. <TD DIR=LTR ALIGN=RIGHT>5</TD>
  19. <TD DIR=LTR ALIGN=LEFT>V-CVCV</TD>
  20. <TD DIR=LTR ALIGN=LEFT>VCVCV</TD>
  21. <TD DIR=LTR ALIGN=RIGHT>0</TD>
  22. <TD DIR=LTR ALIGN=RIGHT>8</TD>
  23. <TD DIR=LTR ALIGN=RIGHT>4</TD>
  24. <TD DIR=LTR ALIGN=RIGHT>3</TD>
  25. <TD DIR=LTR ALIGN=LEFT>a-kO-te</TD>
  26. <TD DIR=LTR ALIGN=RIGHT>3</TD>
  27. <TD DIR=LTR ALIGN=LEFT>V-CV-CV</TD>
  28. <TD DIR=LTR ALIGN=LEFT>étôc-à</TD>
  29. <TD DIR=LTR ALIGN=LEFT>etOka</TD>
  30. <TD DIR=LTR ALIGN=LEFT>à-côté</TD>
  31. <TD DIR=LTR ALIGN=LEFT>NOM</TD>
  32. </TR>


n°995970
p-seeker23
Posté le 29-12-2007 à 11:32:45  profilanswer
 

sed 's/<[tT][dD].*>\(.*\)<\/[tT][dD]>.*/\1/g' Tableau.html | gawk '/<[tT][rR]/{ col=0; getline } { col++; if(col==4) print }' > col4.txt


 
Ca marche sur le bout de code HTML (qui est très propre pour le coup !) que tu donne. Récupération de la colonne 4.


Message édité par p-seeker23 le 29-12-2007 à 11:33:17
n°996024
Profil sup​primé
Posté le 29-12-2007 à 15:50:19  answer
 

Yep,
 
Sur la quatrième colonne, cher moi ça ne marche pas, sur la deuxieme non plus, en revanche ça semble marcher sur la première.
Je vais essayer d'intervertir l'ordre des colonne.

mood
Publicité
Posté le 29-12-2007 à 15:50:19  profilanswer
 

n°996065
Profil sup​primé
Posté le 29-12-2007 à 16:58:53  answer
 

Yep
 
le ligne de commande fonctionne  :jap:  
 
Merci, j'ai récupéré ma colonne ; En fait j'ai une machine qui interprète mal les caractères accentué et qui traitait le fichier en conséquence.
 
Voila. Et bien merci beaucoup  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Résolut] Récupérer le contenu d'une colonne au format html

 

Sujets relatifs
Voir TOUT le contenu d'un repertoire et copier coller[Résolut] Partage internet par Linux Debian pour Windows avec un hub
[ksh] Recuperer une variable avec un \ dedanslire un fichier CDR ou AI sous Linux ? comment récupérer les couches ?
acidrip n'affiche pas le contenu du dvdformat DXF
Recuperer un nombre de fichier dans un repertoire[ Résolu ] Récupérer le code de sortie d'un programme
installer Kaella a partir d'un live-cdServeur Debian Sarge: problème de tar sur le contenu d'un LV
Plus de sujets relatifs à : [Résolut] Récupérer le contenu d'une colonne au format html


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR