Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SUPPRIMER LES BALISES D'UN FICHIER HTML


Information sur la source

Catégorie :Reseaux et Internet Classé sous : html, tag, balise, texte, parser Niveau : Débutant Date de création : 06/06/2007 Date de mise à jour : 11/06/2007 21:07:23 Vu : 7 943

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

Ce programme lit le contenu d'une url et le transforme en texte. Du moins, il supprime toutes les balises html.
Il utilise la librairie htmlparser.
 

Source

  • import org.htmlparser.Parser;
  • import org.htmlparser.util.NodeIterator;
  • import org.htmlparser.util.ParserException;
  • public class TagStripper{
  • public static void main(String[] args){
  • final StringBuilder text = new StringBuilder();
  • try {
  • final Parser parser = new Parser ("http://www.javafr.com");
  • NodeIterator i = parser.elements();
  • while (i.hasMoreNodes())
  • text.append(i.nextNode().toPlainTextString());
  • System.out.println(text);
  • } catch(ParserException e){
  • e.printStackTrace();
  • }
  • }
  • }
import org.htmlparser.Parser;
import org.htmlparser.util.NodeIterator;
import org.htmlparser.util.ParserException;

public class TagStripper{

	public static void main(String[] args){

		final StringBuilder text = new StringBuilder();

		try {
			final Parser parser = new Parser ("http://www.javafr.com");
			NodeIterator i = parser.elements();
			while (i.hasMoreNodes()) 
				text.append(i.nextNode().toPlainTextString());
			System.out.println(text);
		} catch(ParserException e){
			e.printStackTrace();
		}

	}
}

Historique

11 juin 2007 21:07:23 :
Correction suite au commentaire de tarzent Merci pour ta précision :o)

Commentaires et avis

signaler à un administrateur
Commentaire de tarzent le 11/06/2007 13:40:42

Salut,

Avec un StringBuilder c'est beaucoup mieux...
L'inconvénient de ta méthode c'est qu'à chaque itération il instancie un nouvel Objet String.

ex:
public static String HtmlToText(final String urlStr)
throws ParserException {
final StringBuilder text = new StringBuilder();
final Parser parser = new Parser(urlStr);
for (final NodeIterator i = parser.elements(); i.hasMoreNodes();)
text.append(i.nextNode().toPlainTextString());
return text.toString();
}

;-)

signaler à un administrateur
Commentaire de rikichi le 13/04/2008 01:25:53

ca serai rapide avec ca :


String URL = "http://www.javafr.com";
StringExtractor se = new StringExtractor (URL);
String contents = se.extractStrings(true);
System.out.println(contents);


good luck :)

signaler à un administrateur
Commentaire de bassoumbassoum le 12/03/2009 12:11:06

Bonjour,
j'ai éssayé un code pour parser un fichier html, j'ai réussit de sortir toutes les balises c'est mon codes:
#
import java.io.Serializable;
import java.net.HttpURLConnection;
import java.net.URLConnection;
import org.htmlparser.*;
import org.htmlparser.filters.*;
import org.htmlparser.http.*;
import org.htmlparser.lexer.*;
import org.htmlparser.util.*;
import org.htmlparser.visitors.*;
import org.htmlparser.tags.*;
import org.htmlparser.nodes.*;

public class SimpleParse4 {
    public static void main (String [] args) {
        Parser parser = null;
        NodeFilter filter = null;

                  try {
parser = new Parser ();
if (1 < args.length)
    filter = new TagNameFilter (args[1]);
else
    {
filter = null;
// for a simple dump, use more verbose settings
parser.setFeedback (Parser.STDOUT);
Parser.getConnectionManager ().setMonitor (parser);
    }
Parser.getConnectionManager ().setRedirectionProcessingEnabled (true);
Parser.getConnectionManager ().setCookieProcessingEnabled (true);
parser.setResource ("http://www.google.com");
NodeList list = parser.parse(filter);
NodeIterator i = list.elements ();
                while (i.hasMoreNodes ())
                    processMyNodes(i.nextNode ());
    }
            catch (EncodingChangeException ece) {
try {
  
    parser.reset ();
    NodeList list = parser.parse(filter);
    for (NodeIterator i = list.elements (); i.hasMoreNodes (); )
processMyNodes (i.nextNode ());
}
catch (ParserException e) {
    e.printStackTrace ();
}
            }
            catch (ParserException e) {
                e.printStackTrace ();
            }
    }
    static void processMyNodes (Node node) throws ParserException {
        if (node instanceof TextNode)
        {
            
            TextNode text = (TextNode)node;
          
    System.out.println("text: \"" + text.getText() + "\"");
        }
        else if (node instanceof RemarkNode)
        {
          
            RemarkNode remark = (RemarkNode)node;
        
        }
        else if (node instanceof HeadTag)
        {
          
            HeadTag tag = (HeadTag)node;
    NodeList nl = tag.getChildren ();
    if (nl != null)
for (NodeIterator i = nl.elements (); i.hasMoreNodes();) {
    Node nextNode = i.nextNode();
    if(nextNode instanceof TitleTag) {
System.out.println("Title: " + ((TitleTag)nextNode).getTitle());
break;
    }
}
        }
        else if (node instanceof TagNode)
        {

            TagNode tag = (TagNode)node;
    String tagName = tag.getTagName();
            System.out.println("tag name: " + tagName);
            System.out.println("tag text: " + tag.getText());
    if(tag instanceof LinkTag) {
       LinkTag link = (LinkTag)tag;

       System.out.println("Link: " + link.getLink());
    }

            NodeList nl = tag.getChildren ();
            if (null != nl)
                for (NodeIterator i = nl.elements (); i.hasMoreNodes(); )
                    processMyNodes (i.nextNode ());
        }
    }
}
#

mais maintenant je veux afficher chaque balise dans un vecteur
exemple toutes les balises img dans un vecteur
les balises link dans un autre vecteur etc...
j'ai éssayé mais il m'affiche chaque balise image dans un vecteur et moi je veux les regrouper dans un seul vecteur. si quelqu'un peu m'aider et merci d'avance.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Balise Html souris et applet [ par ceteTervu ] BonjourJ'ai un problèmede comptabilité entre une applet java et son environnement HTML.Je souhaiterais que sur passage de la souris sur cette applet, creer des balise html avec un porgramme java. [ par onini ] Pourriez vous m'aider , j'ai un souci, voila en fait je doit faire plusieurs class java qui permetrrait de generer des balises html comme par exemple Convertir du HTML en texte afin de l'afficher dans un JTextArea [ par nico971gwada ] Salut, Je d&#233;bute en java et j'ai un petit probl&#232;me. J'ai un projet &#224; faire &#224; l'&#233;cole un truc pas tr&#232;s compliqu&#233; : recuperer contenu de balise html [ par lolofx ] bonjour, voila, j'aimerai recuperer le contenu de balises html avec leurs attributsvoici un exemple : &lt;h2&gt; &lt;span style="font-weight: bol Un texte formaté en HTML dans un JEditorPane [ par aeled ] Bonjour.J'ai un JEditorPane et je voudrais mettre du texte mais en HTML histoire de mettre des couleurs des images... C'est quoi le moyen le plus simp Un Zolie text html dans mes JTextPane [ par DirigeableMoue ] Coucou de thailande ou il fait chaud mais ou il n y a pas de bouquins sur java.J ai donc une fenetre avec un text pane et j affiche un texte au cour d le XML parser SAX : pb lorsque <balise></balise> [ par Enguerrant ] hello!voilà, j'utilise SAX pour parser un fichier XML, et çà se passe plutot bien !! sauf lorsque dans le fichier en question, il n'y a, à un endroit Afficher les 'HTML.Tag A' dans une JList [ par KanakMan ] voilà, je veux afficher le nom de tous les Tag A d'un document HTML dans une JList.ensuite, quand je clickerai dessus (l'item de la liste), ça devrait java et balise html [ par manal906 ] bonjourJe cherche une fonction en java qui a comme arguments deux cha&#238;nes de caract&#232;res: le nom d'une balise html&nbsp;et&nbsp;le nom d'un&n reccuperer tag meta d'un document html [ par sisadel ] bonjour a tous je voudrai reccuperer les tag meta d'un document html j'utilise pour ca un HtmlDocument .Iterator pour iterer sur le tag META mais ca n


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.