BASH: efffacer balise <script> avec sed?
Résolu
gardiendelanuit
Messages postés
1770
Date d'inscription
Statut
Membre
Dernière intervention
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite faire un script SH qui puisse filtré les balises HTML et n'en garder que le texte brute...
Jusque là j'ai plus ou moins réussi et ce qui me pause problème aujourd'hui, c'est les balises html du genre
En effet je sais enlever tout ce qui se trouve entre les chevrons <*> mais dans les cas particuliers comme celui-ci j'aimerais retirer également ce qui se trouve entre les balises <script> et </script> (pareil pour les commentaires par la même occasion).
J'ai essayé avec le sed en vain... peut-être que je n'utilise pas la bonne syntax. Google ne m'a pas aidé sur ce coup et je compte sur votre aide.
Merci d'avance pour vos réponses :)
Je souhaite faire un script SH qui puisse filtré les balises HTML et n'en garder que le texte brute...
Jusque là j'ai plus ou moins réussi et ce qui me pause problème aujourd'hui, c'est les balises html du genre
<script> code </script>
En effet je sais enlever tout ce qui se trouve entre les chevrons <*> mais dans les cas particuliers comme celui-ci j'aimerais retirer également ce qui se trouve entre les balises <script> et </script> (pareil pour les commentaires par la même occasion).
J'ai essayé avec le sed en vain... peut-être que je n'utilise pas la bonne syntax. Google ne m'a pas aidé sur ce coup et je compte sur votre aide.
Merci d'avance pour vos réponses :)
A voir également:
- Sed -i -e bash
- É majuscule - Guide
- I showkeyplus - Télécharger - Utilitaires
- I love pdf avis ✓ - Forum PDF
- Bouton on off o i - Forum Word
- O ou i pour allumer - Forum Facebook
9 réponses
Salut,
;-))
$ cat plop <script> code </script> <bla>bli</bla> <script> code </script> <blabla>blibli</blabla> $ sed 's#<script>.*</script>##;s#<[^>]*>##g' plop bli blibli $
;-))
Merci de ta réponse rapide malheuresement comme celà ça ne marche pas : /
txt_brute=$(echo $HTML | sed 's|<[^>]*>||g' | sed 's|{[^>]*}||g' | sed 's|[[^>]*]||g' | sed 's#<script>.*</script>##;s#<[^>]*>##g')
Biensur:
Je met tout en ligne pour que le sed le traite correctement.
HTML=$(cat HTML/page.html | tr "\n" " " | tr "\r" " ")
Je met tout en ligne pour que le sed le traite correctement.
Le lien HTML est rentré par l'utilisateur dans ce cas la c'est le code HTML de la page d'accueil de google.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui je connais w3m seulement je ne suis pas sûr qu'elle soit installé sur les versions de l'iut car enfaite c'est un projet que nous devons faire par lequel nous ne pouvons utiliser que les commandes de base de linux
Essaie ça :
$ wget -q -O- http://www.google.fr | iconv -f ISO-8859-1 -t UTF-8 | sed 's#</*script>\|</*style[^>]*>#\n&\n#g' | sed '\#<script>#,\#</script>#d' | sed '\#<style[^>]*>#,\#</style>#d' | sed 's#<[^>]*>##g' Google Web Images Vidéos Maps Actualités Shopping Gmail Plus »iGoogle | Historique Web | Paramètres | ConnexionFrance Recherche avancéeOutils linguistiquesSolutions publicitairesSolutions d'entrepriseÀ propos de GoogleGoogle.com in English© 2011 - Confidentialité $:-))
Whaou.. Je n'en espérais pas tant :o en effet cette solution semble être plus efficace^^' Il y a certaines suites de caractere tel que les
Merci beaucoup de ton aide :))
 qui passe encore mais je vais chercher le moyen de les éliminer si je trouve >.>
Merci beaucoup de ton aide :))
hello
et avec GET
et avec GET
$ GET -o text https://www.google.fr/?gws_rd=ssl | iconv -f ISO-8859-1 -t UTF-8 Web Images Vidéos Maps Actualités Shopping Gmail Plus »iGoogle | Historique Web | Paramètres | Connexion France Recherche avancéeOutils linguistiques Solutions d'entrepriseÀ propos de GoogleGoogle.com in English © 2011 - Confidentialité $
Salut,
Effectivement ;-))
Ce qui correspondrait davantage à sa demande :
c'est un projet que nous devons faire par lequel nous ne pouvons utiliser que les commandes de base de linux
Vu que l'emploi de w3m ne semblait pas convenir ;-(
Effectivement ;-))
Ce qui correspondrait davantage à sa demande :
c'est un projet que nous devons faire par lequel nous ne pouvons utiliser que les commandes de base de linux
Vu que l'emploi de w3m ne semblait pas convenir ;-(