HTML zu TEXT

MacHamster

MacHamster

Aktives Mitglied
Thread Starter
Dabei seit
15.09.2004
Beiträge
226
Reaktionspunkte
0
Hallo zusammen. ich weiss ja nicht, ob das hier ins "internet"-forum passt, hab aber sonst nichts gefunden, deshalb poste ich es mal hier. wie schon im titel sehbar, suche ich einen html zu text-konverter. wüsste da jemand was?
 
danke, sieht gut aus. ich schau mal, ob ich das auch auf lokale html-dateien anwenden kann...
 
hmm, ich hab mal das .py script runtergeladen, und es mit dem AppleBuilder (oder so) geöffnet. das gab ein programm, mit dem ich allerdings nichts anfangen kann... wie kann ich das teil jetzt benutzen?
 
Das Skript muss im Terminal mit Parameter (zu wandelnde Datei) aufgerufen werden.
Also z.B.:
python Pfad/zu/html2text.py Pfad/zur/zu/wandelnden/Datei.html
als Output erscheint im Terminal dann der von den Tags befreite Text der aufgerufenen html-Datei.
Wenn man das schön in eine Textdatei gepackt haben will, leitet man die Ausgabe einfach vom Terminal in eine Datei um, sähe dann so aus:
python Pfad/zu/html2text.py Pfad/zur/zu/wandelnden/Datei.html > Pfad/zur/Ausgabedatei.txt
Die Ausgabedatei muss vorher nicht existieren.

Der ganze Spaß lässt sich sicher auch noch in AS wrappen...

Wenn sonst was nicht funktioniert: Mail an den Skriptautor.

Grüße,
Flo
 
oder Du öffnest einfach die html-Datei in Textedit und wählst dann
Format > In reinen Text umwandeln ;).
 
@maceis: hab' ich mir auch schon überlegt, probleam ist nur, ich habe einen ganzen ordner voll mit den html-dateien. ich werd's wohl mit applescript und dem "do shell script"- befehl machen. danke für die hilfe.
 
So, ich habe jetzt mal ein bisschen gebastelt, und es ist dabei folgender AS-Wrapper für html2text.py entstanden:

Code:
set theDatei to choose file
set thePfad to POSIX path of (theDatei) as string

set theOutput to choose file
set theOutPfad to POSIX path of (theOutput) as string

set Befehl to "python  [COLOR=Red]/Pfad/zum/Script/html2text.py[/COLOR] "

set Pfad to thePfad

set Output to theOutPfad

set Exec to Befehl & Pfad & " > " & Output

do shell script Exec

Der rot markierte Pfad muss an die Gegebenheiten angepasst werden. Ansonsten lässt sich das Script auch ganz gut verwenden um anderweitig Befehlsketten für den Terminal zusammenzubasteln.

Grüße,
Flo
 
dane vielmals. ich hatte was ähnliches (mit repeat schleife) , konnte aber den pfad nicht umwandeln
 
Bei fast allen Browsern gibt es auch die Funktion: Als Textseite sichern. Man kann den Text aber auch markieren und mit Apfel C und Apfel V in ein Textdokument einfügen. - Wozu also ein spezielles Programm für diesen banalen Zweck - und noch dazu so ein kompliziertes?
 
mactomtom schrieb:
Bei fast allen Browsern gibt es auch die Funktion: Als Textseite sichern. Man kann den Text aber auch markieren und mit Apfel C und Apfel V in ein Textdokument einfügen. - Wozu also ein spezielles Programm für diesen banalen Zweck - und noch dazu so ein kompliziertes?

Es steht jedem frei Probleme "einfacher" oder grundsätzlich "anders" zu lösen. Aber kompliziert ist weder der Einsatz des Pythonscripts noch das AS. Im Gegenteil: Knapper lässt sich der Code fast nicht schreiben.
Viel Spaß beim Maus rumschieben und beim Orthopäden!

Aber Du hast auch recht, denn wirklich praktisch wäre es erst wenn das Script ganze Ordner voll Dateien abarbeiten würde. Es lohnt sich also das Ganze noch etwas komplizierter zu machen... :)

Grüße,
Flo
 
nah dran... geht aber immer noch nicht. ich kenn mich nicht so aus mit dem terminal...

fehlermeldung:
sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: `python /Der/pfad/zum/html2text.py /der/pfad/zur/ersten/datei.html > /der/pfad/zur/zweiten/datei.html'
 
Das Applescript-Script hat den Mangel, dass es die Pfade 1:1 in den Aufruf des python-Scripts einsetzt. Verändere mal die Zeile mit 'set Exec...' so, dass um alle Pfade noch " stehen und guck ob es dann geht.

Das mit der Klammer könnte ich mir prima damit erklären, dass Du Klammern in den Dateinamen hast, und wenn aus dem Aufruf nicht hervorgeht dass das ein Text-Argument sein soll, denkt die Shell dass Du eine Subshell willst. Leerzeichen sind genauso tödlich, dann wird aus einem Pfad nämlich plötzlich eine Liste von Argumenten wo Du nur eins willst.
 
ich wusste schon, dass man keine leerzeichen benutzen darf, aber klammern sind mir neu! probiers gleich aus!
 
„Finder“ hat einen Fehler erhalten: Traceback (most recent call last):
File "/Pfad/zum/html2text.py", line 392, in ?
data = open(arg, 'r').read()
IOError: [Errno 2] No such file or directory: 'thepath'
 
Der Fehler heißt dass die Datei, die das Script zum Lesen öffnen wollte, nicht existiert. Kannst Du eventuell vor dem Ausführen nochmal den Kompletten Shell-Befehl ausgeben und schaun ob da alles in Ordnung ist?
 
Mann kann auch den ganzen HTML code in den TextEdit einfügen und dort gibt es ja eine Funktion in reinen Text umwandeln.



lg lollbere
 
dannycool schrieb:
Der Fehler heißt dass die Datei, die das Script zum Lesen öffnen wollte, nicht existiert. Kannst Du eventuell vor dem Ausführen nochmal den Kompletten Shell-Befehl ausgeben und schaun ob da alles in Ordnung ist?

Gute Idee, mache ich beim Testen auch immer erstmal.
mach doch mal aus
do shell script Exec
ein
display dialog Exec
und kontrolliere ob der ausgegebene Befehl dem entspricht was direkt im Terminal eingegeben zum Erfolg führen würde.
Wie gesagt das Script hat bei mir die gewünschten Ergebnisse geliefert.

Grüße,
Flo
 
DOPPELPOST
 
Zuletzt bearbeitet:
auf die idee mit den fehlenden dateien bin ich auch schon gekommen. hab' dann die alten dateien rüberkopiert. geht auch nicht. ich hab' es jetzt mal anders gemacht. so ein art mischun aus "In Programm konvertieren und "elegant mit applescript". ist sicherlich nichts, wo ich stolz drauf sein kann, aber es hat bestens funktioniert:

tell application "Finder"
repeat with htmlfile from 1 to count of files of folder (alias "Pfad:Zum:Original:Ordner:")
open file htmlfile of folder (alias "Pfad:Zum:Original:Ordner:")
delay 1
tell application "Safari"
set thetext to text of document 1 as text
set thename to name of document 1 as text
end tell
set thepath to "Pfad:Zum:neuen:Ordner:" & thename & ""
set RefNum to (open for access file thepath with write permission)
write thetext to RefNum
close access RefNum
end repeat
end tell

einziges problem: zeigt umlaute ein bisschen komisch an. (auf dem ipod gar nicht). danke trotzdem nochmal!
 
Zurück
Oben Unten