Ist es möglich, das Speichern einer Webseite (unter Verwendung des .webarchive
Formats) entweder mit Automator (in einem Hintergrundprozess) oder mit Terminal zu automatisieren?
Ein Befehlszeilentool namens webarchiver lädt URLs herunter und speichert sie im .webarchive
Format. Sie können dieses Tool über MacPorts installieren (leider kein Homebrew!) oder es mit XCode kompilieren. Ich bin ein XCode-Dummy, aber mit den hier gefundenen Anweisungen erfolgreich .
Wie zu bedienen:
webarchiver 0.5
Usage: webarchiver -url URL -output FILE
Example: webarchiver -url http://www.google.com -output google.webarchive
-url http:// or path to local file
-output File to write webarchive to
Mit diesem langen Einzeiler für Terminal können Sie die gewünschte URL konfigurieren und eine Webarchivdatei mit dem Präfix JJJJ-MM-TT herunterladen:
URL="www.nytimes.com"; ./webarchiver -url "http://$URL" -output "/Users/<your username>/Desktop/$(date +"%Y-%m-%d-$URL.webarchive")"
Dadurch wird ein Webarchiv auf Ihrem Desktop gespeichert:
2014-02-10-www.nytimes.com.webarchive
Wenn Sie sich nicht sicher sind, was <your username>
das ist, geben Sie whoami
Terminal.app ein (und drücken Sie natürlich die Eingabetaste).
Ich würde lieber verwenden launchd
, da " von der Verwendung von cron unter OS X abgeraten wird " . Es gibt einen netten Launchd-Editor namens Lingon . Spaß haben!
Ja ist die einfache Antwort mit beiden.
Ich bin auf meinem iPad unterwegs. Sie können jedoch den Unix-Befehl curl verwenden , um die Webseite herunterzuladen und an den Unix-Befehl textutil weiterzuleiten , der sie in eine Webarchivdatei ausgeben kann.
Bei Gelegenheit poste ich ein Beispiel.
Hier ist ein kleines Beispiel (schnell) von dem, was ich dachte. Geschrieben in Applescript, das Shell-Skriptbefehle ausführt.
property agent : "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3"
property outPutFormat : "rtf"
property saveDIR : "/Users/USERNAME/Desktop/"
property fileName : "test2"
set theData to do shell script "curl " & " -A" & space & quoted form of agent & space & "http://weather.yahoo.com/france/auvergne/france-29332634/" as string
do shell script "echo " & quoted form of theData & "|textutil -format html -convert" & space & outPutFormat & space & "-stdin -output " & space & saveDIR & fileName & "." & outPutFormat
Obwohl dies funktioniert. Ich bin mit den Ergebnissen nicht sehr zufrieden. Dies liegt daran, dass curl und textutil nur den HTML-Code, aber keine Ressourcen verarbeiten.
Also arbeite ich an etwas anderem, das ein WebArchiv viel besser speichern wird. 90% da, aber es dauert etwas länger, bis ich schreibe
JFW
myhd
JFW
ƘɌỈSƬƠƑ
brew info webarchiver
)!