HTML-Konverter

German Forum
User avatar
jpg153
Donor
Posts: 449
Joined: 23. Oct 2009, 15:43
Location: Krefeld/NRW/BRD/EU

Re: HTML-Konverter

Post by jpg153 »

Code: Select all

w3m url > TEXTFILE
Indeed, this produced a text file - unfortunately although it looks table like formatted, its separating columns by blanks, which are difficult to resolve into other placeholders...argh :x

Code: Select all

sed -e 's/<[^<>]*>//g; /^[ ]*$/d' test.html
Ehrlich gesagt habe ich den Eintrag im Forum schon nicht verstanden und ob ich dies eingebe oder die Sequenz aus dem Forum

Code: Select all

cat test.html | sed -e 's/<[^<>]*>//g; /^[ ]*$/d'
passieren tut eigentlich nix - ok, es rauschen Unmengen Zeichen/Zeilen über den Bildschirm, aber es bleibt nix Verwertbares übrig...
Vermutlich meinen die Jungs "einfach" Tags und nicht die komplexeren Ausgaben...

Ich habe es auch noch mit einem Tool unter WinXP versucht, aber das steigt bei der Größe auch aus...

Ich bastel jetzt mal mit Browser und Geany (Ersetzen) und erzeuge eine Meta-Formatierung mit Separatoren die
ich nachher wieder rauslösen kann, die aber die Struktur der Tabelle erhalten.

Danke an Euch!
Regards Gruß
jpg
User avatar
thenktor
Salix Wizard
Posts: 2426
Joined: 6. Jun 2009, 14:47
Location: Franconia
Contact:

Re: HTML-Konverter

Post by thenktor »

Probier:

Code: Select all

cat test.html | sed -e 's/<[^<>]*>//g; /^[ ]*$/d' > test.txt
Auf den ersten Blick würde ich sagen: das entfernt alle HTML-Tags (also alles zwischen < und >).

Und wie dir vielleicht auffällt schreibt ein > test.txt am Ende eines Befehls die Ausgaben in die Datei test.txt, statt sie im Terminal auszugeben. ;)
Image
burnCDDA (burns audio CDs)
geBIERt (German beer blog)
User avatar
damNageHack
Posts: 663
Joined: 24. Sep 2009, 17:07

Re: HTML-Konverter

Post by damNageHack »

jpg153 wrote:

Code: Select all

sed -e 's/<[^<>]*>//g; /^[ ]*$/d' test.html
Ehrlich gesagt habe ich den Eintrag im Forum schon nicht verstanden und ob ich dies eingebe oder die Sequenz aus dem Forum

Code: Select all

cat test.html | sed -e 's/<[^<>]*>//g; /^[ ]*$/d'
passieren tut eigentlich nix - ok, es rauschen Unmengen Zeichen/Zeilen über den Bildschirm, aber es bleibt nix Verwertbares übrig...
Vermutlich meinen die Jungs "einfach" Tags und nicht die komplexeren Ausgaben...
Deshalb habe ich gleich im ersten Post gefragt, was du da eigentlich genau vorhast :D
Du meintest zuerst genau das, nämlich die Tags entfernen und genau das macht die Zeile mit sed, thenktor hat es ja auch so verstanden. Von daher weiß wohl niemand so genau wie man dir helfen soll ... :roll:
jpg153 wrote: Ich habe es auch noch mit einem Tool unter WinXP versucht, aber das steigt bei der Größe auch aus...
Wenn du bereits alles versucht hast, wieso fragst du dann noch?
Nächstes Mal solltest du dir vielleicht gleich am Anfang Gedanken machen, was du eigentlich willst, bevor um Hilfe zu schreien. Niemand kann durch das Forum hellsehen ;)
User avatar
jpg153
Donor
Posts: 449
Joined: 23. Oct 2009, 15:43
Location: Krefeld/NRW/BRD/EU

Re: HTML-Konverter

Post by jpg153 »

Nun,

tatsächlich werden die Tags entfernt, es bleiben jedoch alle non-breaking-spaces erhalten und die Spalten
sind nicht getrennt sondern nahtlos an den vorangegangenen Text angefügt.
Die nbsp wären somit kein Problem, bei mehrspaltigen Texten ist das Ergebnis allerdings suboptimal.
In der Tat fehlte mit die Ausgabe als > test.txt damit das Ergebnis erhalten wurde :oops:

Ich weiß schon was ich will und hab's ja auch beschrieben.
Nur liefert eben kein Tool das Ergebnis wie ich es optimal nutzen kann.

Am Ende erscheint mir der Weg über den Browser und Nachbearbeitung mit Geany o.ä. noch der beste Ansatz.
Leider eben auch nicht unaufwändig ;)

Bei ganz einfachen Strukturen ist 'sed' sicherlich eine Alternative. Vielleicht gelingt es mir ja auch mit 'sed' die entfernten <...>-Ketten mit einem Trennsymbol zu ersetzen oder die <> stehen zu lassen und nur den Text dazwischen raus zu kegeln. ... Mal sehen ob ich das irgendwo finde, ansonsten muss ich nochmal nach "Hilfe schreien". :P
Regards Gruß
jpg
User avatar
damNageHack
Posts: 663
Joined: 24. Sep 2009, 17:07

Re: HTML-Konverter

Post by damNageHack »

jpg153 wrote: Bei ganz einfachen Strukturen ist 'sed' sicherlich eine Alternative. Vielleicht gelingt es mir ja auch mit 'sed' die entfernten <...>-Ketten mit einem Trennsymbol zu ersetzen oder die <> stehen zu lassen und nur den Text dazwischen raus zu kegeln. ... Mal sehen ob ich das irgendwo finde, ansonsten muss ich nochmal nach "Hilfe schreien". :P
Meinst du das?

Code: Select all

cat test.html | sed -e 's/<[^<>]*>/TRENNER/g; /^[ ]*$/d' > test.txt
Da wo TRENNER steht, einfach dein gewünschtes "Trennsymbol" anstelle dessen eintragen, eventuell gar nix - wie anfangs erst angenommen.
Oder wenn du dann <> als Trenner haben willst, eben das:

Code: Select all

cat test.html | sed -e 's/<[^<>]*>/<>/g; /^[ ]*$/d' > test.txt
Es geht also auch für die nicht ganz so einfachen Dinge. Man muss nur wissen, was man machen will (und wie). ;)
Das zwischen s/ und dem nächsten / ist der reguläre Ausdruck, der die zu suchende Zeichenfolge(n) angibt, danach kommt bis zum folgenden / was anstelle dessen stehen soll (Suchen und Ersetzen).
Das Ganze geht auch mit einem ordentlichen Editor, man muss dafür kein sed verwenden. Reguläre Ausdrücke folgen einer eigenen Sprache.
User avatar
jpg153
Donor
Posts: 449
Joined: 23. Oct 2009, 15:43
Location: Krefeld/NRW/BRD/EU

Re: HTML-Konverter

Post by jpg153 »

Hallo,

ja, Danke, das war der fehlende Code-Schnippel! :D :idea: :!:

Damit erzeugt sed tatsächlich eine recht saubere Text-Datei. Den Rest mache ich in Geany mit 'Ersetzen'.
Das funktioniert auch mit der danz dicken HTML-Seite in Sekunden (auf einem alten 1GHz Einkern).
Regards Gruß
jpg
Post Reply