Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Software
>
Aus Safari Webarchive die einzelnen Elemente ziehen?
Aus Safari Webarchive die einzelnen Elemente ziehen?
mee
30.08.05
17:55
Hallo zusammen
Ich hab n kleines Problem. Hab gestern ausversehen ein Folder gelöscht mit einer ganzen Website drin, welche ich nun schon seit 2 Wochen dran rum gebastelt habe. Das einzige was ich noch machen konnte war, ein Webarchive von der ersten Seite.
Dieses WEbarchive File schaut auch super aus, genau so, wie ich es brauche, nur sind die CSS Dateien eben separat verlinkt und diesse bräuchte ich dingendst.
Gibt es eine Möglichkeit aus dem Webarchive dieses Element, welches sauber dargestellt wird, raus zu nehmen?
Wäre echt super ....
Tausend Dank
Hilfreich?
0
Kommentare
Claude
30.08.05
18:36
Hallo mee, der Link beantwortet zwar nicht deine Frage (weiss nicht, ob es eine Antwort gibt), zeigt aber die Schwächen des Webarchives von Safari auf –>
Hilfreich?
0
rofl
30.08.05
18:41
Also öffnen kann man es zB mit dem PropertyList Editor (XML Programm unter /Developer/Applications/Utilities).
Das scheint aber etwas ganz geschicktes zu sein, so einfach kommt man leider da nicht an die Daten...
Hilfreich?
0
mee
30.08.05
18:46
rofl Mmmhh, das hab ich bei mir gar nicht drinn ...
claude Danke für den Hinweis. Also macht iCab n schöneres Web-Archive, als Safari.
Nur zu blöd, dass man nicht dan die Datei rein kommt. Man sieht ja auch kein Paketinhalt und der email senden geht im WEb-Archive auch nicht mehr ...
Hilfreich?
0
rofl
30.08.05
18:51
Man denke macosxhints.com
Hilfreich?
0
rofl
30.08.05
18:52
edit: danke
Hilfreich?
0
rofl
30.08.05
18:59
Damit es auch hier in der Datenbank steht...:
To extract an example.webarchive file, use this command:
textutil -convert html example.webarchive
This will extract the HTML file as well as the attached jpeg, gif, and other image files.
Hilfreich?
0
mee
30.08.05
19:04
wenn ich es in Word aufmachen, dann shee ich zumindest die CSS und HTML Einstellungen, was mir sehr viel hilft ...
Beim Terminal Befehl, bekomme ich leider die CSS nicht mit, aber so kombiniert ist das super.
Danke Euch
Hilfreich?
0
rofl
30.08.05
19:09
Statt Word würde ich ein Programm wie SubEthaEdit benutzen.
Ich spiel damit mal rum, es kann sein, dass das CSS aus dem Netz genommen wird...
Hilfreich?
0
Rantanplan
30.08.05
19:12
Im Gegensatz zu dem zip von iCab (der Zombie unter den Webbrowsern: nie richtig am Leben, aber auch noch nicht gestorben
) enthält das Webarchiv von Safari sogar mehr Informationen: die URLs jeder einzelnen Ressource zum Beispiel, den mime type und die server response. Verpackt in dem allgegenwärtigen Datenformat von OS X: einer property list.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
rofl
30.08.05
19:12
Doch das CSS speichert er auch, allerdings im html eingebettet. Schau dir mal die extrahierte html-Datei näher an.
Hilfreich?
0
Rantanplan
30.08.05
19:23
rofl
Das scheint aber etwas ganz geschicktes zu sein, so einfach kommt man leider da nicht an die Daten...
Doch, ist ganz einfach: die Daten sind base64 encoded
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Rantanplan
30.08.05
22:29
Wen es interessiert, ich hab mal ein bissl was reingeklopft. Mein Interesse galt der Perl-Cocoa-Bridge, der Source sieht deswegen etwas wüst aus und ist nur als Anregung zu sehen, weil z.B. der Dateiname hardcoded ist
Warum initWithData:encoding: nicht tut, das ist mir nicht so klar, deswegen habe ich NSData quick'n'dirty in eine Zeichenkette verwurstet
Mal kucken wie der Source nach dem Reinkopieren aussieht.
Achso, was tut das Ding? Es extrahiert alle Dateien aus dem Webarchiv.
use Foundation;
$KEY_MAIN_RES = 'WebMainResource';
$KEY_SUB_RES = 'WebSubresources';
$KEY_MIME = 'WebResourceMIMEType';
$KEY_DATA = 'WebResourceData';
$KEY_URL = 'WebResourceURL';
sub nsdata_to_string($)
{
# $str = NSString
alloc()
initWithData_encoding_( $data, NSASCIIStringEncoding );
# return $str
UTF8String();
my $str = $_[0]
description()
UTF8String();
$str =~ s/[\<\> ]//g;
$str =~ s/([a-fA-F0-9]{2})/chr(hex $1)/eg;
return $str;
}
sub write_file($$)
{
my ($url,$content) = @_;
$url =~ /\/([^\/]*)$/;
my $fname = $1;
print $fname;
open( F, ">$fname" );
print F $content;
close( F );
}
$file = "./test.webarchive";
$plist = NSMutableDictionary
dictionaryWithContentsOfFile_( $file );
if ( $plist and $$plist) {
$mainResource = $plist
objectForKey_( $KEY_MAIN_RES );
$data = $mainResource
objectForKey_( $KEY_DATA );
$str = nsdata_to_string( $data );
$url = $mainResource
objectForKey_( $KEY_URL );
write_file( $url
UTF8String(), $str );
print "\n";
$subResources = $plist
objectForKey_( $KEY_SUB_RES );
$i = 0;
while ( $i<$subResources
count() ) {
print "$i: ";
$res = $subResources
objectAtIndex_( $i++ );
$data = $res
objectForKey_( $KEY_DATA );
$str = nsdata_to_string( $data) . "\n\n";
$url = $res
objectForKey_( $KEY_URL );
write_file( $url
UTF8String(), $str );
print "\n";
}
} else {
die "Error loading file.\n";
}
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
kawi
30.08.05
22:33
Dann speicher ich doch lieber in firefox die webseitenb als "Webseite, komplett" - da hab ich jederzeit Zugriff auf alle Dateien
Hilfreich?
0
Rantanplan
30.08.05
22:40
Achso ja, daß es mit textutil geht, weiß ich
Wollte halt mal selber drin rumfummeln
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Rantanplan
30.08.05
22:41
kawi
Schon klar, aber die WebArchive von Safari kann man so schön in DEVONthink einlagern
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Apples langer Atem bei Produktentwicklung: Am B...
macOS 15 Sequoia: Netzwerkprobleme und Verbindu...
Verwarnung an Apple: Verbotenes Geoblocking in ...
Hilfe bei Übelkeit im Auto: Apple hat mit iOS 1...
watchOS 11: Apple trennt sich von vier Zifferbl...
Visa sah Apple als "existenzielle Bedrohung" an
Gescheitert: iPhones von Robotern statt Arbeite...
iPhone SE 4 von allen Seiten – Dummy aufgetauch...