![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| UNIX pour les nuls Questions et réponses Si vous ne savez pas où poster un UNIX ou Linux question, post it here. Tous les systèmes UNIX et Linux, débutants bienvenus! |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Pour sortir de données de HTML | phip | De programmation et de script Shell | 1 | 05-20-2008 04:23 AM |
| Conversion des données HTML dans une feuille de calcul | GARRIC | De programmation et de script Shell | 4 | 04-22-2008 11:00 AM |
| Comment puis-je extraire uniquement le texte de fichier html, sans balise HTML | los111 | UNIX pour les nuls Questions et réponses | 4 | 11-28-2007 04:40 AM |
| html coverting données au format texte dans le «c» | phani_sree | High Level Programming | 3 | 10-18-2007 11:06 AM |
| Conversion des tables de données en ligne des colonnes de tables | justthisguy | De programmation et de script Shell | 7 | 07-16-2007 05:42 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
extraire des données de tableaux html
salut
i besoin d'utiliser Unix pour extraire des données de plusieurs lignes d'un tableau en code html. Je sais que de lignes dans un tableau les balises <tr> </ tr> et alors j'ai pensé que ma première étape devrait être de supprimer tous les autres code html qui ne figure pas à l'intérieur de ces balises. i pourrait alors utiliser cette méthode, mais encore supprimer tout ce qui n'est pas dans <td> </ td> tags. mais la grande question est de savoir comment puis-je faire cela? i think i need sed mais pour le moment, c'est juste moi aussi beaucoup de confusion aucune aide? |
|
||||
|
En principe, vous avez raison. Le script suivant extrait tout entre un «<tr>" et "</ tr>" tag. Il suppose que il n'y a pas plusieurs "<tr> - </ tr>" paires sur une seule ligne et les balises elles-mêmes sont minuscules (pas de "<TR>). Le résultat n'est peut-être pas ce dont vous avez besoin, alors vous pouvez envisager de nous donner un échantillon de ce que vous avez et que vous aurez besoin d'obtenir d'elle. Cela nous permettra de vous aider à mieux. Code:
sed 's/.*<tr>//;s/<\/tr>.*//' /path/to/your/file I hope this helps. Bakounine |
|
|||||
|
Salut.
Voir Tableau HTML au format CSV pour une autre approche utilisant les lynx-dump. En général, des liens vers des fils semblables aux vôtres sont affichées au bas du fil ... cheers, DRL |
|
||||
|
grâce Bakunin qui est vraiment utile. i cant post d'un échantillon de la page html pour diverses raisons. le seul problème avec votre solution est que la plupart des balises sont <tr> sur plusieurs lignes dans ma page html. c'est-à-dire la balise mai ouvertes sur la ligne 7, puis fermée à la ligne 20. où est-il possible avec sed de supprimer tout sur une ligne (y compris la ligne) mais que quand il fait à un tag <tr> et recommencer quand il est à un </ tr>? sinon est-il un moyen de faire sed croire que l'ensemble de la page html est sur une seule ligne?
Comme je ne suis pas familier avec les capacités de sed, Il est difficile pour moi de savoir quelle est la meilleure manière de remplir cette tâche. |
|
||||
|
Citation:
Si vous postez quelque chose, quelqu'un code postal. Sinon, vous allez avoir à faire vous-même. Essayez quelque chose comme le remplacement de l'ensemble des nouvelles lignes dans le fichier avec des espaces, le fractionnement du fichier avant chaque <ou après chaque>, et aller de là. Si vous mai ont un <ou> dans les données, puis vous allez faire un peu de travail supplémentaire. C'est le mieux que je peux faire pour vous en ce moment. ShawnMilo |
|
||||
|
tente de répondre à ma question ici, mais encore du mal im si ce travail ne marche pas alors je vais maquette d'exemple, je pensais que ma description de mai ont été assez bon withough d'avoir à perdre du temps à faire un exemple de table. j'ai trouvé sur ce site Sed - An Introduction and Tutorial que vous pouvez créer des gammes de modèles. l'exemple de code est: Code:
sed '/start/,/stop/ s/#.*//' J'ai essayé de faire mon <tr> début et </ tr> mon arrêt, mais je ne cesse de faire des erreurs. i aurait en outre de ne pas (!), cette façon au lieu de supprimer tout les tags, il supprime tout hors des balises. s'il vous plaît quelqu'un peut m'aider à obtenir cette sed commandement de travail? merci Dernière édition par Streetrcr; au 03.20.2008 04:05 AM.. Motif: balises de code |
|
||||
|
Citation:
Code:
sed -n '/<tr>/,/<\/tr> {
s/.*<tr>//
s/<\/tr>.*//
p
}' /path/to/your/file
Comment cela fonctionne: le "-n" clause de l'arrêt sed l'impression de chaque ligne, il a lu, si vous supprimez le script, il serait juste rien imprimer. Il s'agit de (implicitement) à jeter toutes les lignes qui ne sont pas dans la plage spécifiée. Tout entre les accolades est exécuté seulement à l'intérieur de la fourchette indiquée à la ligne 1. Comme vous pouvez le voir la dernière commande à l'intérieur des accolades est un "p", qui sera imprimée tout à l'intérieur de cette fourchette. Si vous supprimez les deux "s /...."- commandes d'impression, il serait quelque chose de cela: Code:
something....<tr> content of the tr-tag some more content even more content</tr> something else.... Comme vous pouvez voir les parties en gras doivent être supprimés, car ils ne font pas partie de ce que vous voulez. Les deux "s /..."- commandes (s \u003d substitut) de prendre soin de tout cela avec les tags eux-mêmes. Lors de la dernière p (rint)-commande affiche le résultat de tous les réglages. Encore un mot, si: Vous avez une deuxième réponse de moi parce que j'ai apprécié que vous faisiez une véritable recherche sur votre propre. Vous avez perdu près de cette réponse en raison de ceci: Citation:
Je suis encore aujourd'hui "de perdre un peu plus de temps" pour vous expliquer pourquoi vous avez peut-être parfois pas de réponse à la totalité ou une réponse que vous ne pouvez pas l'utiliser. Go figure. I hope this helps. Bakounine |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|