4 votos

¿Cómo convertir un archivo HTML con imágenes referenciadas en la línea de comandos en un archivo web?

En MacOS quiero convertir archivos HTML con imágenes referenciadas en la línea de comandos/programáticamente a archivos web .

Dado un archivo de ejemplo sample.html que contiene:

<html><body>
<h1>File with resource</h1>
<p>This file shows text and references an image.</p>
<img src="sample.jpg" />
</body></html>

y una imagen sample.jpg en el mismo directorio, puedo ver el archivo html en cualquier navegador y se renderiza con la imagen. Para convertir a un webarchive he intentado:

textutil -convert webarchive sample.html

pero el resultado sample.webarchive cuando se abre en Safari, la imagen no se muestra, aunque contiene (véanse los comentarios).

¿Cómo puedo hacer la conversión desde la línea de comandos correctamente, de forma que el resultado contenga y renderiza la imagen? Al fin y al cabo, para eso están los archivos web.

0 votos

¿Funciona si abre sample.html en Safari, crear el webarchive desde allí, luego alejar ambos archivos y abrir el archivo en Safari?

0 votos

@patrix ¡Buena pregunta! Lo he probado y, como era de esperar, Safari puede hacerlo: Cuando Safari guarda el archivo, lo guarda de forma que, al abrirlo y renderizarlo, la imagen aparece. - Extrañamente el tamaño del archivo de Safari y el archivo textutil son muy similares, así que supongo que el archivo textutil hace contienen la imagen, simplemente no se referencian correctamente para el renderizado...

0 votos

En efecto, así es (puede comprobarlo con plutil -p WEBARCHIVE ). Sin embargo, no he investigado las diferencias.

3voto

Josh Puntos 205

Utilizar la herramienta webarchiver (que puede instalar a través de brew install webarchiver ):

webarchiver -url sample.html -output sample.webarchive

El webarchive producido contiene la imagen y Safari muestra la imagen cuando muestra el webarchive.

-2voto

Neil Puntos 49

Creo que la línea de comandos no es consciente de la inclusión de ninguna imagen.

He probado una página web sencilla con imagen+texto y la he abierto con Safari.

Si elige Archivo -> Guardar como .. 'webarchive' podrá ver en el webarchive creado que la imagen se añade al final del archivo.

Es bastante obvio que Safari está utilizando alguna función interna de Swift/Objective-C para implementar la Imagen.

Si elige obtener el html y tener la imagen como referencia parece ignorar la imagen y sólo la salida del texto (a través de textutil).

Yo no confiaría en los webarchives para descargar páginas web - en su lugar utiliza wget o curl o scrapers como scrapy/beautifulSoup y descárgalas.

Sé que es conveniente tener 1 archivo, pero esa no es la mejor manera de guardar imágenes y cosas así, eso hace que sea bastante difícil extraerlas después.

0 votos

Gracias por mirar la pregunta, pero a mi entender su "respuesta" principalmente establece mi problema: que "la línea de comandos" es decir. textutil no puede crear un webarchivo propiamente dicho, al menos no como yo lo llamo. Busco una herramienta/procedimiento que funcione. para la línea de comandos para hacer exactamente eso.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X