Saltar al contenido

Comprimir (minimizar) HTML desde python

Te sugerimos que revises esta solución en un ambiente controlado antes de enviarlo a producción, saludos.

Solución:

Puedes usar htmlmin para minimizar tu html:

import htmlmin

html = """



  Bootstrap Case
  
  
  
  
  

 

Well

Basic Well
""" minified = htmlmin.minify(html.decode("utf-8"), remove_empty_space=True) print(minified)

Supongo que en GAE realmente no hay necesidad de minificar su html, ya que GAE ya lo ha comprimido con gzip Caché y GZip en GAE (Community Wiki)

No probé, pero la versión minimizada de html probablemente ganará solo el 1% del tamaño, ya que solo elimina espacio una vez que ambas versiones están comprimidas.

Si desea ahorrar almacenamiento, por ejemplo, memcached, tiene más interés en gzip (incluso con un bajo nivel de compresión) que en eliminar espacio, ya que en python probablemente será más pequeño y más rápido si se procesa en C en lugar de python puro.

htmlmin y html_slimmer son algunas herramientas simples de minimización de html para python. Tengo millones de páginas html almacenadas en mi base de datos y ejecutando htmlmin, puedo reducir el tamaño de la página entre un 5 y un 50%. Ninguno de ellos hace un trabajo óptimo en la minificación completa de html (es decir, el color de fuente #00000 se puede reducir a #000), pero es un buen comienzo. Tengo un bloque try/except que ejecuta htmlmin y luego, si eso falla, html_slimmer porque htmlmin parece proporcionar una mejor compresión, pero no admite caracteres que no sean ascii.

Código de ejemplo:

import htmlmin
from slimmer import html_slimmer # or xhtml_slimmer, css_slimmer
try:
    html=htmlmin.minify(html, remove_comments=True, remove_empty_space=True)
except:
    html=html_slimmer( html.strip().replace('n',' ').replace('t',' ').replace('r',' ')  )

¡Buena suerte!

Aquí tienes las reseñas y puntuaciones

Si crees que te ha resultado provechoso nuestro post, sería de mucha ayuda si lo compartes con otros programadores así contrubuyes a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *