Wie kann ich nur Text von einer Webseite mit jsoup mit Java analysieren?Wie nur Text aus HTML zu analysieren
Antwort
Von jsoup Kochbuch: http://jsoup.org/cookbook/extracting-data/attributes-text-html
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
String text = doc.body().text(); // "An example link"
Nun, hier ist eine schnelle Methode, die ich zusammen einmal warf. Es verwendet reguläre Ausdrücke, um die Aufgabe zu erledigen. Die meisten Leute werden zustimmen, dass dies kein guter Weg ist, dies zu tun. SO, verwenden Sie auf eigene Gefahr.
Dies wurde ursprünglich in meinem API-Wrapper für die Stack Overflow API verwendet. Also, es wurde nur unter einer kleinen Teilmenge von HTML-Tags getestet.
Hmmm ... warum verwenden Sie nicht einfach regexp: 'replaceAll (" <[^>) +> "," ")'? – Crozin
@Crozin, nun, ich habe mir selbst beigebracht, wie man die Rückbezüge benutzt, denke ich. Es sieht so aus, als würde deine wahrscheinlich auch funktionieren. – jjnguy
das tut weh! -> http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contented-tags – sleeplessnerd
Mit Klassen, die Teil des JDK sind:
import java.io.*;
import java.net.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
class GetHTMLText
{
public static void main(String[] args)
throws Exception
{
EditorKit kit = new HTMLEditorKit();
Document doc = kit.createDefaultDocument();
// The Document class does not yet handle charset's properly.
doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
// Create a reader on the HTML content.
Reader rd = getReader(args[0]);
// Parse the HTML.
kit.read(rd, doc, 0);
// The HTML text is now stored in the document
System.out.println(doc.getText(0, doc.getLength()));
}
// Returns a reader on the HTML data. If 'uri' begins
// with "http:", it's treated as a URL; otherwise,
// it's assumed to be a local filename.
static Reader getReader(String uri)
throws IOException
{
// Retrieve from Internet.
if (uri.startsWith("http:"))
{
URLConnection conn = new URL(uri).openConnection();
return new InputStreamReader(conn.getInputStream());
}
// Retrieve from file.
else
{
return new FileReader(uri);
}
}
}
- 1. Wie ein aus HTML mit Regex analysieren
- 2. Analysieren <br> zu Nur-Text neuen Absatz
- 3. Wie fehlerhafte HTML in Python zu analysieren
- 4. Wie nur bestimmte Tag Werte zu analysieren
- 5. Speichern UITextView Text zu analysieren
- 6. Wie HTML in AutoHotKey analysieren?
- 7. Wie HTML-Referenzen einfach zu analysieren
- 8. Wie multidimensionale JSON leicht zu HTML analysieren?
- 9. Wie li von html zu analysieren
- 10. Wie HTML in PHP eleganter zu analysieren?
- 11. Wie HTML-Datei mit Clojure zu analysieren?
- 12. Parsing Text aus HTML-Website in PHP
- 13. Analysieren von Daten aus Text nach Vorlage
- 14. jQuery - Nur Text aus komplexer HTML-Seite extrahieren
- 15. Text aus HTML extrahieren Tabelle
- 16. Konvertieren von HTML in Nur-Text?
- 17. Wie HTML in PHP analysieren?
- 18. lesen html Text aus Variable
- 19. wie Scope Felder zu analysieren, die HTML-Markup
- 20. HTML-Tabelle zu Groovy-Liste analysieren?
- 21. Wie {status: 0, val: 450} analysieren aus einer HTML-Antwort
- 22. jQuery Text aus HTML auswählen
- 23. Verwenden von Jsoup, um HTML zu analysieren?
- 24. Verhindern, dass xcode versucht, html zu analysieren
- 25. Beste Art, HTML in Qt zu analysieren?
- 26. Wie zu analysieren BaseHTTPRequestHandler.path
- 27. So analysieren Sie eine Signatur einer gespeicherten Prozedur in C# aus Nur-Text
- 28. Html Analysieren in Android
- 29. Streifen Text aus HTML-Dokument mit Ruby
- 30. Analysieren Formular mit HTML-Agility Pack
wie unsichtbare Elemente ausschließen? (z. B. Anzeige: keine) – Ehsan