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

2

Bajo macOS, quiero convertir archivos HTML con imágenes referenciadas en la línea de comandos / programáticamente a webarchivos . >

Dado un archivo de muestra 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 procesa con la imagen. Para convertir a un webarchivo he intentado:

textutil -convert webarchive sample.html

pero el sample.webarchive resultante, cuando se abre en Safari, no genera la imagen, aunque la contiene (ver comentarios).

¿Cómo puedo hacer la conversión desde la línea de comandos correctamente, para que el resultado contenga y muestre la imagen? Después de todo, ¡para eso están los archivadores web!

    
pregunta halloleo 03.08.2017 - 09:20

2 respuestas

1

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

webarchiver -url sample.html -output sample.webarchive

El archivo web producido contiene la imagen y Safari muestra la imagen cuando muestra el archivo web.

    
respondido por el halloleo 23.09.2017 - 03:57
-2

Creo que la línea de comandos no tiene conocimiento de que se incluya ninguna imagen.

Probé una página web simple con imagen + texto y la abrí con Safari.

Si elige Archivo - > Guardar como ... 'webarchive' puede ver en el webarchive creado que la imagen se adjunta al final del archivo.

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

Si elige obtener el html y tiene la imagen como referencia, parece ignorar la imagen y solo generar el texto (a través de textutil).

No confiaría en los archivos web al descargar páginas web; en lugar de eso, use wget o curl o scrapers como scrapy / beautifulSoup y descárguelos.

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

    
respondido por el rwenz3l 03.08.2017 - 11:19

Lea otras preguntas en las etiquetas