6

Me gustaría guardar una página web mediante programación.¿Cómo guardo una página web, programáticamente?

No me refiero simplemente a guardar el HTML. También me gustaría almacenar automáticamente todos los archivos asociados (imágenes, archivos CSS, SWF tal vez integrados, etc.) y, con suerte, reescribir los enlaces para la navegación local.

El uso previsto es una aplicación personal de marcadores, en la que el contenido del enlace se almacena en caché en caso de que se retire la copia original.

Respuesta

6

Tome un vistazo a wget, específicamente la bandera -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. 

El siguiente comando:

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

descargará pagina.html y todos los archivos que requiere.

+0

¿Y por qué alguien me votó negativamente? Quiero decir que el -1 no me molesta tanto como me gustaría corregir cualquier problema que pueda haber con mi respuesta ... – Josh

+0

Esto se ve bastante bien, excepto que a veces el resultado no se ve igual que la página que Yo copié. Por ejemplo, traté de 'wget -p' http://ffffound.com/image/3d3795b5447291980a40f3719dea4b5b15ff3ec9 Sin embargo, las imágenes relacionadas que se presentan como una lista horizontal, ahora se convierten en una larga lista vertical, una por línea. ¿Por qué? –

2

En Windows: puede ejecutar IE como un objeto com y extraer todo.

Por otro lado, puede tomar la fuente de Mozilla.

En Java, Lobo.

O commons-httpclient y escribe una gran cantidad de código.

+0

+1 si necesita elementos como las imágenes de fondo a las que se hace referencia en las hojas de estilo y las importaciones de CSS, necesita un analizador de HTML y CSS del mundo real. Eso es medio navegador allí, así que mejor que lo hagas con un navegador real. Lo más fácil es incorporar IE o trabajar como extensión de Firefox. – bobince

0

Puede probar el formato MHTML (que es lo que utiliza IE). http://en.wikipedia.org/wiki/MHTML

En otras palabras, estaría descargando cada objeto (imagen, css, etc.) a su computadora, y luego "incrustándolos", a través de Base64, en un solo archivo.

+0

¿Cómo lo programo? –

+0

¿Qué lenguaje de programación desea usar? –

+0

Aquí hay uno que usa VB: http://www.codeproject.com/KB/aspnet/aspnethtml2mht.aspx –

Cuestiones relacionadas