2009-10-19 6 views
3

Désolé si c'est trop simple, mais je n'ai tout simplement pas pu trouver un tutoriel ni la documentation de la version Java de TagSoup.Page HTML en XHTML avec TagSoup

Fondamentalement, je veux télécharger une page Web HTML à partir d'Internet et le transformer en XHTML, contenu dans une chaîne. Comment puis-je faire cela avec TagSoup?

Merci!

Répondre

7

Quelque chose comme ceci:

wget -O - example.com/bad.html | java -jar tagsoup.jar 

Ou, à partir de Java:

parser HTML:

  • Créer une instance de org.ccil.cowan.tagsoup.Parser
  • Fournir votre propre SAX2 ContentHandler
  • Pr ovide un InputSource faisant référence au HTML
  • Et parse()!
+0

Précisément cela! Je veux obtenir cette valeur dans une chaîne en Java. – konr

+0

@konr, si cette réponse est précisément ce que vous vouliez, vous pourriez accepter/voter-up =) –

1

est Ci-dessous le code qui devrait vous fournir un moyen de tirer vers le bas d'une page Web et d'analyser en conséquence avec TagSoup ...

 HttpClient client = new DefaultHttpClient(); 
     HttpGet request = new HttpGet("http://streak.espn.go.com/en/?date=20120824"); 
     HttpResponse response = client.execute(request); 

     // Check if server response is valid 
     StatusLine status = response.getStatusLine(); 
     if (status.getStatusCode() != 200) { 
      throw new IOException("Invalid response from server: " + status.toString()); 
     } 

     // Pull content stream from response 
     HttpEntity entity = response.getEntity(); 
     InputStream inputStream = entity.getContent(); 

     try 
     { 
      XMLReader parser = XMLReaderFactory.createXMLReader("org.ccil.cowan.tagsoup.Parser"); 

      // Use the TagSoup parser to build an XOM document from HTML 
      Document doc = new Builder(parser).build(builder.toString()); 

      // Push your data to string or XML 
      doc.toString(); 
      doc.toXML(); 
     } 
     catch(IOException e) 
     { ... } 
+0

Pourquoi le vote à la baisse? –

Questions connexes