html-File nach txt-File konvertieren

Status
Nicht offen für weitere Antworten.

Axxel

Mitglied
Hi,

ich sitze nun schon seit längerem immer mal wieder an der Aufgabe, einen HTML-File in plain TXT umzuwandeln. Prinzipiell gibt es da ja genug Tools mit Gui, aber ich brauch es im Code, also eine Library am besten, da ich es nicht alles selbst machen will und es ja bestimmt irgendwo schon was gibt, das ich aber einfach nicht finde.

Bisher habe ich folgendes versucht: html2text bzw. html2txt unter Linux (Konsolenaufruf im Code), das funktioniert gut, hatten wir bis vor kurzem so gemacht, aber wenn man mal grad kein Linux zur Stelle hat, wie im Moment, ist man aufgeschmissen...
Zweiter Versuch (nach vielen anderen Fehlschlägen) war jetzt der Yoshicoder Konverter (http://people.iq.harvard.edu/~wlowe/Converter.html), der hat im ersten Moment gut funktioniert, ist nicht schwer zu bedienen, ist aber nur beta und bringt mir nun eine Fehlermeldung, die ich nicht wegbekomme, obwohl ich nichts geändert habe, nachdem es mal lief:
Code:
Exception in thread "group2" java.lang.Error: HTMLScanner can't cope with 116 in state 21
Ist irgendwas internes, die Eingabe stimmt jedenfalls. Vielleicht liegt es daran, dass der Aufruf in einem von mehreren Threads läuft? Aber wie gesagt,es lief schonmal...

Weiß jemand etwas, was ich noch probieren könnte, wo es andere Tools/Libs gibt? Ob ich einen File direkt eingeben muss bzw. bekomme oder einen String, ist mir prinzipiell egal. Kann man da relativ einfach irgendwie SAX, DOM, etc... verwenden?

Vielen Dank schonmal für die Antworten..

Gruß, Axxel
 

Axxel

Mitglied
extra einen Swing-Kontext erstellen? das ist nicht grade das Mittel meiner Wahl. Ich will weder Html-Seite, noch text-File jemals sehen, sondern nur intern verarbeiten, allerdings eben in plain-TXT. Der htmlParser, den Bleiglanz vorgeschlagen hat, bzw. das Sample dort, das den Text-Teil extrahiert, scheint mir etwas oberflächlich zu sein, so etwas wie Absätze brauche ich also schon auch im Txt-File und alles in einem Stück.
Vielleicht baue ich mir selber noch aus dem Html-Parser so ein Stück Code, aber erst, wenn alle Stricke reißen.

----edit-----

Also ich hab den Vorschlag mit der JEditorPane mal ausprobiert:

Code:
javax.swing.JEditorPane jpe = new javax.swing.JEditorPane();
jpe.setPage(htmlFile.toURL());
String s = jpe.getText();

aber was ich rausbekomme ist das hier:

Code:
<html>
  <head>

  </head>
  <body>
    <p style="margin-top: 0">
      
    </p>
  </body>
</html>

Habe ich noch was vergessen, dass die HTML-Seite richtig in die JEditorPane reingeladen wird?
 

flanker

Aktives Mitglied
editor.getText() gibt tatsächlich html Inhalt zurück,
editor.getDocument().getText(von, laenge) hingegen den Inhalt des Views.
JEditorPane kann zwar nicht alles korrekt darstellen, aber ich schätze, plain Text gibt er komplett zurück.
Das Thema gab's schon mal hier irgendwo vor kurzem...
 

Campino

Top Contributor
Mit JDOM parsen und dann den Text aller Contents ausgeben (document.getRootElement().getChildren() usw...)
 

Axxel

Mitglied
Campino hat gesagt.:
Mit JDOM parsen und dann den Text aller Contents ausgeben (document.getRootElement().getChildren() usw...)

aber ich könnte mir vorstellen, dass das Problematisch mit Absätzen und so ist, oder? Ich brauche den Text-File schon möglichst genauso, wie er im Browser angezeigt wird. Falls ich das Html aber doch noch selber parsen muss, ist DOM sicherlich ein Mittel der Wahl...

Was die Sache mit der JEditorPane angeht, das hab ich jetzt so gemacht:

Code:
javax.swing.JEditorPane jpe = new javax.swing.JEditorPane();
jpe.setPage(htmlFile.toURL());
String s = jpe.getDocument().getText(0, jpe.getDocument().getLength());

aber das ergibt überhaupt kein Ergebnis (leerer String) und dann kriege ich drei InterruptExceptions, was mit AWTShutdown, EventQueue und ReferenceQueue...

Habt ihr ne Idee, woran das liegt, dass da kein Ergebnis kommt?
 

flanker

Aktives Mitglied
Mein Vorschlag: lese die Datei mit io aus und dann übergibst du den Inhalt dem JEditorPane als String (mit setText()), zusätzlich kannst du noch setContentType("text/html"); setzen. Wenn's funktioniert, liegt der Fehler höchstwahrscheinlich an URL.
Ansonsten printStackTrace() posten, oder die html-Datei selbst, mal schauen...
 

Murray

Top Contributor
Campino hat gesagt.:
Mit JDOM parsen und dann den Text aller Contents ausgeben (document.getRootElement().getChildren() usw...)
Das geht aber auch nur, wenn es xhtml ist; beliebige HTML-Seiten aus dem Web sind leider nur selten well-formed-XML und gehen daher nicht durch einen XML-Parser
 
R

Roar

Gast
Axxel hat gesagt.:
aber ich könnte mir vorstellen, dass das Problematisch mit Absätzen und so ist, oder? Ich brauche den Text-File schon möglichst genauso, wie er im Browser angezeigt wird.

wenn das so sein soll wirst du mit herkömmlichen mitteln nicht weit kommen, das wär dann ja schließlich ne mehr oder weniger komplette browserengine :?
 

byte

Top Contributor
eine html datei kannst du halt nicht mal eben so mit korrekter formatierung in ein textformat exportieren. das klappt vielleicht bei formaten wie pdf, weil dort exakte formatierungsinformationen enthalten sind. aber html dateien werden erstmal vom browser interpretiert. der browser ist halt größtenteils verantwortlich dafür, wie die html datei am ende aussieht.
 

Axxel

Mitglied
naja, aber am ende sehen Texte ja in jedem Browser zumindest ähnlich aus. Und es gibt da ja auf jedenfall auch Tools, die alles korrekt umwandeln, so wie man es erwartet. Aber entweder sie sind nur mit GUI oder aber die Linux-Konsolenanwendungen. Ich will es aber möglichst plattformunabhängig...

Naja, ich probiere mal weiter...
 
G

Guest

Gast
also ich habe jetzt eine Lösung gefunden. Ich bin letztendlich doch wieder beim Yoshikoder Converter gelandet.
Nach etwas Rumprobieren wollte er dann auch lokale Dateien nehmen und das gibt ganz gute Ergebnisse...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B DOM oder HTML File drucken "wie ein Browser es zeigen w XML & JSON 3
B JAXB und HTML XML & JSON 1
T HTML mit Hilfe Jsoup einlesen XML & JSON 11
C javascript in .html Funktioniert, in .xhtml nicht mehr XML & JSON 0
M parsen von realen HTML-WEB-Seiten XML & JSON 1
P HTML XPath XML & JSON 1
K Einlesen eines Parameters aus HTML-Datei XML & JSON 4
1 Html tabelle auslesen??? XML & JSON 6
Airwolf89 HTML Datei mit SAXBuilder laden hängt sich auf XML & JSON 4
K docBook XSLT: HTML Code Snippet in Erzeugte HTML Dokument einfügen XML & JSON 9
D Wie XML Datei einlesen und HTML entities übernehmen? XML & JSON 3
R Problem bei: XML und XSL zu HTML XML & JSON 2
T Möchte JSP Code in Attribut eines HTML Tags hinein generieren XML & JSON 3
slawaweis XML Prettyprinter zu HTML XML & JSON 3
S Typsicherer HTML-Parser XML & JSON 5
S HTML Parser XML & JSON 2
F Probleme beim html parsen mit tagsoup XML & JSON 4
M HTML Quellcode verarbeiten XML & JSON 4
J DOM zu HTML XML & JSON 3
S DOM Parsen Problem mit HTML Sonderzeichen XML & JSON 4
A aus xml --> html Problem XML & JSON 3
M HTML-Entities XML & JSON 4
M Suche HTML-API XML & JSON 3
G Servlet mittels XSL in HTML konvertieren XML & JSON 5
K html -> cyberneko -> xml -> jdom . XML & JSON 3
S HTML mit dom4j parsen? XML & JSON 2
M TextContent eines XML-Elements enthält HTML-Tags . was nun XML & JSON 2
L mit Java eine HTML-Datei erstellen XML & JSON 3
B html->xslfo->pdf XML & JSON 5
G HTML in PDF umwandeln XML & JSON 9
P HTML Seite Parsen, und bestimmten Text extrahieren XML & JSON 3
J Exception bei "vorselektiertem" HTML XML & JSON 3
C HTML-Befehle per Java entfernen XML & JSON 7
P HTML-Sting in JDOM XML & JSON 7
G HTML -> XML XML & JSON 2
F XML Datei als HTML? XML & JSON 4
flashfactor HTML in XML XML & JSON 3
FsMarine HTML to PDF Konventieren XML & JSON 6
P HTML mit JDOM erstellen und in JEditorPane zeigen XML & JSON 4
B JDom + HTML XML & JSON 2
E JAXB und java.nio.file.Path XML & JSON 4
Trèfle Formatierung v. JSON File XML & JSON 7
L login - Java IOException jaas.config File or Directory not present XML & JSON 1
G Probleme mit Jsoup in .jar File XML & JSON 11
K JAR-File mit XML-Datei XML & JSON 1
JBoby Yaml File lesen und in Objekte umwandel (SnakeYAML / YamlBeans) XML & JSON 0
O XML Zugriff auf Entity File XML & JSON 0
B xsd-Datei ins jar file XML & JSON 5
S XLSX-File NoSuchMethodError XML & JSON 7
M SEPA XML file XML & JSON 11
S Xml File für den Aufbau einer anderen Xml Datei XML & JSON 6
S XML file lässt sich in Eclipse nicht erstellen XML & JSON 2
M <root> node in bestehendes XML-File XML & JSON 8
jstei001 .xsd File wärend der Laufzeit einlesen und XMl rausschreiben XML & JSON 5
L Datenstruktur in XML-File schreiben XML & JSON 2
Q XML-File als Objekt in Java XML & JSON 6
G DXF-File schreiben XML & JSON 17
GUI-Programmer java.io.File aus .jar beziehen XML & JSON 6
B XML file erstellen und in lesbarer form speichern XML & JSON 2
M XML File generieren XML & JSON 3
S Aus XML-File eine Baumstruktur erzeugen XML & JSON 5
N XML File aus Internet korrekt mit absätzen formatiert abspeichern XML & JSON 10
J xmlParser/-Writer: DTD in seperates File auslagern XML & JSON 4
C Xml file gegen eine DTD validieren XML & JSON 3
G Problem beim schreiben von XML in eine File XML & JSON 2
S Premature end of file XML & JSON 7
T File öffnen XML & JSON 6
B XML file für schtasks XML & JSON 5
G Simples XML File einlesen mit JDom. Prefix not bound ? XML & JSON 2
G Xml File schematisch auslesen XML & JSON 2
J File objekt in xml speichern? XML & JSON 12
G XMLEncoder: discarding statement LinkedList.add(File) XML & JSON 16
X XML File auslesen/parsen u. in ne Hashmap speichern XML & JSON 2
M Unhierarchisches XML-File mit DOM-Parser auswerten XML & JSON 5
M XML File während Applet-Start auslesen? XML & JSON 10
X Einzelne Tags rausnehmen aus einem großen XML-file XML & JSON 4
E XOM setzen von XML-Schema declaration beim erzeugen XML-File XML & JSON 2
M XSL-File für Transformation verwenden XML & JSON 3
M XML-File verabeiten XML & JSON 19
A XML-File auslesen, alles leer? XML & JSON 2
S Geändertes XML-File wieder abspeichern. XML & JSON 10
D XML-file mit Eclipse erstellen + Namespaces XML & JSON 2
K XML to file geht nicht :( XML & JSON 4
A Internetinhalte auslesen und in einem XML-File speichern XML & JSON 4
T select-statement aus mysql in ein xml-file umwandeln XML & JSON 3
J XML File updaten XML & JSON 2
A XML-file an der Konsole ausgeben XML & JSON 4
D In ein XML File meinStyleSheet.css eintragen? XML & JSON 9
J Client für WebService programmieren (aus WSDL-File) XML & JSON 15
R wie kann ich ein xml file in einen string einlesen? XML & JSON 2
M *.group() in File auslesen XML & JSON 4
A XML-File ausgeben XML & JSON 2
W aus XML-File gelesenes als Methodenaufruf verwenden XML & JSON 5
T Elemente aus XML-File löschen (JDom) XML & JSON 9
T [JDOM] XML File, neue Daten hinzufügen XML & JSON 5
D Aus Java XML-File an PHP-Skript senden: Encodingproblem? XML & JSON 3
T Prob: Auslesen XML File mit JDOM XML & JSON 2
wofus JSON filtern nach bestimmten Wert XML & JSON 7
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
R Handler-Wechsel, SAX Parser bricht nach 8192 Byte ab XML & JSON 5

Ähnliche Java Themen

Neue Themen


Oben