4 votes

Automatiser la sauvegarde quotidienne des archives web ?

Est-il possible d'automatiser l'enregistrement d'une page web (en utilisant la fonction .webarchive ) en utilisant Automator (dans un processus d'arrière-plan) ou en utilisant Terminal ?

3voto

myhd Points 3320

Télécharger et sauvegarder comme archive web

Un outil de ligne de commande nommé webarchiver téléchargera les URL et les enregistrera dans .webarchive format. Vous pouvez installer cet outil via MacPorts (hélas, pas homebrew !) ou le compiler avec XCode. Je suis un crétin de XCode, mais j'ai réussi avec les instructions trouvées ici .

Comment fonctionner :

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

Des noms de fichiers agréables

Cette longue ligne simple pour le terminal vous permet de configurer l'URL désirée et téléchargera un fichier d'archives web préfixé YYYY-MM-DD :

URL="www.nytimes.com"; ./webarchiver -url "http://$URL" -output "/Users/<your username>/Desktop/$(date +"%Y-%m-%d-$URL.webarchive")"

Cette opération permet de sauvegarder une archive web sur votre bureau :

2014-02-10-www.nytimes.com.webarchive

Si vous n'êtes pas sûr de ce que <your username> est, entrez whoami dans Terminal.app (et appuyez sur Entrée, bien sûr).

Cron

Je préfère utiliser launchd comme " l'utilisation de cron sur OS X est déconseillée ". Il existe un éditeur launchd sympa nommé Lingon . Amusez-vous bien !

0 votes

Superbe trouvaille ! Merci beaucoup ! Je prévois d'automatiser cela avec Automator (en exécutant chaque archive de site web dans l'option 'Run Shell script'. Le problème, c'est qu'il y a un moyen de choisir où la sortie sera faite ? (Actuellement, la zone par défaut semble être ~/user au lieu de ~/user/desktop) Merci.

0 votes

Vous êtes les bienvenus ! Veuillez consulter la réponse mise à jour.

1 votes

Merci encore de l'avoir trouvé. J'ai marqué votre réponse comme étant celle qui a résolu la question (alors que la question a été posée pour la première fois il y a 275 jours). J'utilise webarchiver depuis et c'est incroyable. Je n'ai pas eu le courage d'automatiser cela, alors j'ai simplement placé la ligne de code dans Automator et l'ai sortie sous forme de fichier cliquable sur le bureau. C'est assez fantastique jusqu'à présent. Malheureusement, la taille des fichiers de sortie est assez importante (~3MB, par opposition aux 0,5MB habituels), mais le fait qu'il soit autonome signifie qu'il est beaucoup plus portable.

2voto

markhunte Points 11634

Oui, c'est la réponse simple à l'une ou l'autre de ces questions.

Je suis sur mon iPad en ce moment. Mais vous pouvez utiliser la commande unix bouclette pour télécharger la page web et l'envoyer à la commande unix textutil qui peut l'éditer dans un fichier d'archives web.

Si j'en ai l'occasion, je posterai un exemple.


Voici un petit exemple (rapide) de ce à quoi je pensais. Écrit en Applescript en exécutant des commandes shell script.

  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

Bien que cela fonctionne. Je ne suis pas très heureux des résultats. Ceci est dû au fait que curl et textutil ne traitent que le code html mais pas les ressources.

Je travaille donc sur quelque chose d'autre qui permettra de sauvegarder un webArchive d'une bien meilleure manière. J'y suis à 90%, mais cela me prendra un peu plus de temps pour l'écrire.

0 votes

J'apprécierais vraiment que vous fassiez le suivi de cette affaire. Vous serait-il également possible de montrer comment cela peut être fait dans le contexte d'un cron(job) ? Merci d'avance !

0 votes

Quelle est la page web. Dans ma hâte de vous aider, j'ai oublié que cette façon de faire fonctionne. Mais seulement pour la page d'accueil. Mais certains fichiers de ressources, etc., ne seront pas inclus et la page aura l'air bizarre. Je cherche toujours un moyen de résoudre ce problème. Mais pouvez-vous fournir plus de détails sur la raison et ce que vous voulez de la page.

0 votes

C'est vrai. Je cherchais à capturer les pages de sites d'information comme ft.com, nytimes.com, ..., afin de pouvoir voir les tendances des gros titres au fil des mois et des années. Ma mémoire n'est pas très bonne, ce serait donc une aide précieuse.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X