No es algo simple de hacer, pero más o menos sería algo como:
1- Obtener el código; eso parece que ya lo tienes
2- Analizar el contenido con
DomDocument, expresiones regulares u otra opción para obtener rutas de scripts e imágenes
3- Obtener tanto scripts como imágenes (con cURL, file_get_contents() u otro) y guardarlos en una carpeta
4- Reemplazar URL's de scripts e imágenes para que sean cargadas de forma local
5- Guardar todo y crear tu zip