probleme mit umlauten beim entfernen von html-tags mit lynx

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
michaa7
Beiträge: 5067
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

probleme mit umlauten beim entfernen von html-tags mit lynx

Beitrag von michaa7 » 07.06.2007 19:28:04

Ich muß bei vielen html seiten die tags entfernen, weil der webauftritt komplett neu aufgebaut wird. Die tags entferne ich mit

Code: Alles auswählen

lynx --dump <file.html> > file.txt
Leider sind anschliesend alle umlaute etc duch fragezeichen ersetzt. Das problem schein lynx zu sein, denn es zeigt die umlaute in html dokumenten nicht richtig an ( obwohl ich beim surfen mit lynx umlaute eintippen kann und diese dann auch richtig angezeigt werden.

Die lokalen dateine, die lynx falsch anzeigt, werden in cat, nano, und less richtig, d.h. mit "&ouml;" etc angezeigt.

Ich habe mal die man lynx durchgeschaut, da schein es die möglichkeit zu geben mehrere charakter sets anzugenbe, aber das ist irgendwie stochern im nebel und ich verstehe es nicht gut genug.

Kann mir da jemand weiterhelfen bzw mir eine alternative zum entfernen der html-tags nennen ( quanta-plugin? )
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

michaa7
Beiträge: 5067
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

gelöst

Beitrag von michaa7 » 07.06.2007 19:39:56

mit

Code: Alles auswählen

w3m -dump file.html > file.txt
klappt das ohne probleme
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

meti
Beiträge: 559
Registriert: 19.12.2004 14:00:47
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von meti » 07.06.2007 19:40:33

Probier mal recode

Um die Umlaute umzuwandeln reicht ein recode h4::latin1 zum umwandeln von html-entities in latin1 umlaute.
Der Parameter -d kann dir evtl. auch von Nutzen sein.

Methusalix

probleme mit umlauten beim entfernen von html-tags mit lynx

Beitrag von Methusalix » 08.06.2007 01:59:51

Hallo,
...bzw mir eine alternative zum entfernen der html-tags nennen..
Eine weitere Möglichkeit:

Code: Alles auswählen

 cat datei_mit_tags.html | sed 's/<[^>]*>//g' > datei_ohne_tags.txt
Gruß
Matthias

michaa7
Beiträge: 5067
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von michaa7 » 09.06.2007 16:02:00

danke euch beiden, werde mal herumprobieren

@ Matthias-GE

Ich hoffe diese weitere anfrage wird von dir nicht als zu unverfroren angesehen, aber das werde ich mir auf die schnelle nicht selber reinpfeifen können weil mich meine html/css wissenserweiterung derzeit schon über die massen strapaziert, aber vllt bist du mit "sed" so firm, dass es dich wenig mühe kostet?:

Sehr hilfreich wäre, wenn bei allen tabellenrelevanten tags ( <table> <tr> td> tbody> <thead> <tfoot>, natülich auch in der </*> variante ) entweder nur die attribute entfernt würden ( und dann eben die "nackte" tabellendefinition übrig blieb oder diese tags vom löschen ausgenommen würden. ( Im letzten fall würde ich eben dann mit "ersetzen" versuchen <td*> durch <td> zu ersetzen usw. Ist zwar dann umständlich aber entspricht meinen derzeitigen möglichkeiten.

Im ergebnis wäre eben eine datei wünschenswert, in der

- alle tabellenrelevanten tags erhalten bleiben, allerdings OHNE attribute
- alle anderen tags sollten komplett gelöscht sein.

In jedem fall nochmal danke, schon dein erstes posting ist sehr hilfreich für mich gewesen.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Methusalix

probleme mit umlauten beim entfernen von html-tags mit lynx

Beitrag von Methusalix » 09.06.2007 22:38:51

Hallo,
also Du kannst sed-Befehle auch in einer separaten Datei bündeln. Das bedeutet dann, das Du alle <tr> und <td> usw.
wegsemmeln kannst, aber <table></table> bleibt erhalten. Da muß dann halt in der Datei jedes Tag, das gelöscht werden
soll (oder auch durch einen anderen Inhalt ersetzt werden soll), definiert werden.

Code: Alles auswählen

sed 's/<tr>//g
sed 's/<td>//g
...
Wenn ich morgen die Zeit dazu finde, tüftel ich mal. Wenn das für Dich so wichtig ist, dann sollte das
Thema in die Abteilung "Softwareentwicklung..." verschoben werden. Da sind sicher auch andere Lösungen möglich.
Gruß
Matthias

michaa7
Beiträge: 5067
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: probleme mit umlauten beim entfernen von html-tags mit lynx

Beitrag von michaa7 » 10.06.2007 00:29:48

Matthias-GE hat geschrieben:Hallo,
also Du kannst sed-Befehle auch in einer separaten Datei bündeln. Das bedeutet dann, das Du alle <tr> und <td> usw.
wegsemmeln kannst
Die sollen schon erhalten bleiben. Mit nackter tabelle meinte ich: keine styles, id_s usw mehr in den tabellen tags <table> <tr> td> tbody> <thead> <tfoot>, natürlich auch in der </*> variante.
Alle anderen tags ausser den hier oben genannten sollen komplett weg.
Da muß dann halt in der Datei jedes Tag, das gelöscht werden
soll (oder auch durch einen anderen Inhalt ersetzt werden soll), definiert werden.

Code: Alles auswählen

sed 's/<tr>//g
sed 's/<td>//g
...
Wenn ich morgen die Zeit dazu finde, tüftel ich mal. Wenn das für Dich so wichtig ist, dann sollte das
Thema in die Abteilung "Softwareentwicklung..." verschoben werden.
Naja, mir ist hilfe schon angenehm aber bitte investiere da nicht zuviel energie. Es geht bei mir um ein paket alter html seiten von 1998, teilweise mit WYSIWYG-editoren bearbeitet und entsprechend mit code zugemüllt. Da dauert alleine das löschen der tags mit hand schon ne ewigkeit. Wenn ich da aber die auch vorhandenen tabellen definitionen verliere, dann kann ich auch gleich den tabellen inhalt mit wegschmeissen.
Andererseits kann ich die tabelle auch jeweils herauskopieren und gesondert bearbeiten, ist zwar mehr arbeit, aber wenn dir so auf die schnelle keine lösung gelingt lohnt es vllt nicht wirklich da lange zu tüfteln.

danke für deine hilfe
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Methusalix

probleme mit umlauten beim entfernen von html-tags mit lynx

Beitrag von Methusalix » 11.06.2007 21:04:27

Hallo,
ohne Beispieldatei bleibt das sicher schwierig. Vielleicht sind ein paar Grundsatzbemerkungen hilfreich.
- Je mehr (gleichförmige) Dateien bearbeitet werden sollen, desto eher lohnt eine Tüftelei mit sed.
Für 3 Seiten würde ich das auch nicht machen, aber bei z.B. 220 Seiten (ich hatte das mal)... :)
- Ich will nicht behaupten das sed das optimale Instrument dafür ist. Mich wundert sowieso, das
sich die Kollegen von der Perl-Fraktion noch nicht gemeldet haben. :wink:

Noch mal zum Thema:

Code: Alles auswählen

#macht  aus <table border="1"> ein einfaches <table>
s/<table[^>]*>/<table>/g
#macht aus <p "blafasel"> ein einfaches <p>
s/<p[^>]*>/<p>/g
#macht aus <p "blafasel"> gar nichts, sondern löscht die Zeichenkette.
s/<p[^>]*>//g
Wenn Du Dir die Beispiele genau anschaust, dann kannst Du die Gleichförmigkeit in
den Befehlen erkennen. Dies ist ein Beispiel für eine seperate Datei, von der ich oben sprach.
Diese Datei ließe sich mit gleichem/ähnlichem Muster erweitern. Aufzurufen wäre das dann mit:

Code: Alles auswählen

sed -f Befehlsdatei zu_bearbeitende_Datei.html
Gruß
Matthias

michaa7
Beiträge: 5067
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von michaa7 » 12.06.2007 09:28:43

Hi Matthias,

super, vielen dank, hab's zwar noch nicht ausprobiert, aber das siiht so aus, als ob sich das exact so anpassen läßt wie ich das brauche. Vielen dank nochmal.

Zur seitenanzahl: Nun es sind keine 220 wie bei dir, aber doch wohl so 30-40 seiten, genug jedenfalls dass mir davor graust.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Antworten