6

Je voudrais enregistrer une page Web par programme. Je ne veux pas simplement sauvegarder le code HTML. Je voudrais également stocker automatiquement tous les fichiers associés (images, fichiers CSS, peut-être SWF incorporé, etc), et j'espère réécrire les liens pour la navigation locale.Comment enregistrer une page Web par programme?

L'utilisation prévue est une application personnelle de marque-pages, dans laquelle le contenu de la liaison est mis en cache au cas où la copie d'origine serait supprimée.

Répondre

6

Jetez un oeil à wget, plus précisément le drapeau -p

−p −−page−requisites 
This option causes Wget to download all the files 
that are necessary to properly display 
a givenHTML page. Thisincludes such 
things as inlined images, sounds, and 
referenced stylesheets. 

La commande suivante:

wget -p http://<site>/1.html 

téléchargera page.html et tous les fichiers dont il a besoin.

+0

Et pourquoi quelqu'un m'a-t-il déprécié? Je veux dire que le -1 ne me dérange pas tellement que je voudrais corriger les problèmes avec ma réponse ... – Josh

+0

Cela semble très bien, sauf parfois la sortie ne ressemble pas à la page qui J'ai copié. Par exemple, j'ai essayé de 'wget -p' http://ffffound.com/image/3d3795b5447291980a40f3719dea4b5b15ff3ec9 Cependant, les images liées qui sont présentées comme une liste horizontale, deviennent maintenant une longue liste verticale, une par ligne. Pourquoi? –

2

Sous Windows: vous pouvez exécuter IE en tant qu'objet com et tout extraire.

D'autre part, vous pouvez prendre la source de Mozilla. En Java, Lobo.

Ou commun-httpclient et écrire beaucoup de code.

+0

+1 si vous avez besoin d'éléments comme des images d'arrière-plan référencées dans les feuilles de style et les importations CSS, vous avez besoin d'un analyseur HTML et CSS réel. C'est déjà la moitié d'un navigateur, alors il vaut mieux le faire avec un vrai navigateur. Le plus facile à intégrer IE, ou travailler comme une extension Firefox. – bobince

0

Vous pouvez essayer le format MHTML (qui est ce que IE utilise). En d'autres termes, vous devez télécharger chaque objet (image, css, etc.) sur votre ordinateur, puis les "incorporer", via Base64, dans un seul fichier.

+0

Comment le programmer? –

+0

Quel langage de programmation voulez-vous utiliser? –

+0

En voici un qui utilise VB: http://www.codeproject.com/KB/aspnet/aspnethtml2mht.aspx –

Questions connexes