2012-04-07 11 views
2

Ich verwende derzeit Jsoup, um ein HTML zu analysieren. Der Code ist ganz einfach:Wie man Teile der Webseite mit Jsoup verlässt?

Document doc = null; 
    try{ 
     doc = Jsoup.connect(link).get();  
    } 
    catch (Exception e) { 
     //System.out.println("Some error occured."); 
     textView.setText(e.getMessage()); 
    } 

Es mir die Webseite gibt, gebe ich will, später kann ich die Daten, die ich von dieser Webseite benötigen extrahieren mit seiner getElementsByTag Methode und so weiter. Allerdings möchte ich nur einen Teil der Webseite verwenden, zum Beispiel möchte ich alles nach < aufgeben! -/foo -> auf meiner Webseite. (Eigentlich hat es keine Leerzeichen zwischen < und!, Aber ich kann das hier nicht eingeben.) Gibt es eine Möglichkeit, die Webseite nach dieser Zeichenfolge zu verlassen und das neue Dokument nur mit dem Teil zu bekommen, den ich will? Ich habe das Kochbuch überprüft, aber es scheint nur die Webseite in ihrer Struktur zu verarbeiten, also bin ich mir nicht ganz sicher, ob es in Ordnung ist, etwas wie String zu entfernen. Danke für deine Lektüre.

Antwort

1

Sie können Dokument doc = Jsoup.parse (html) verwenden, wobei HTML ein Seiten-HTML ist. I.e. nehmen HTML zuerst von

Connection connect = Jsoup.connect(url); 
    Connection.Response response = connect.execute(); 
    String html = response.body(); 

dann tun, was Operationen, die Sie benötigen (zB schneiden HTML nach Markierung, sondern fügen notwendig Schließen HTML-Tags), dann

Document doc = Jsoup.parse(html) 
+0

ich sehe, in diesem Fall sollte ich nicht Holen Sie das Document-Objekt mit doc = Jsoup.connect (link) .get(); Stattdessen sollte ich zuerst die Webseite aufrufen, tun, was ich brauche, und sie dann erneut in das Document-Objekt einlesen? Ich wundere mich, gibt es eine Möglichkeit, das Dokument-Objekt direkt zu ändern, aber immer noch sehr zu schätzen, Ihre Hilfe. – JLTChiu

+1

Sie können weiterhin Elemente des Dokuments abrufen und 'remove()' auf ihnen aufrufen. Zum Beispiel, legen Sie alle entfernbaren HTML in ein div oder span mit spezieller ID und entfernen Sie es. –

Verwandte Themen