Joh*_*son 11 html python google-app-engine
如何从python中压缩(最小化)HTML; 我知道我可以使用一些正则表达式去除空格和其他东西,但我想要一个真正的编译器使用纯python(因此它可以在Google App Engine上使用).
我在一个在线html压缩器上做了测试,它节省了65%的html大小.我想要那个,但是来自python.
小智 17
你可以使用htmlmin来缩小你的html:
import htmlmin
html = """
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2>Well</h2>
<div class="well">Basic Well</div>
</div>
</body>
</html>
"""
minified = htmlmin.minify(html.decode("utf-8"), remove_empty_space=True)
print(minified)
Run Code Online (Sandbox Code Playgroud)
htmlmin和html_slimmer是一些简单的 Python html 缩小工具。我有数百万个 html 页面存储在我的数据库中并运行 htmlmin,我能够将页面大小减少 5% 到 50%。它们都没有在完整的 html 缩小(即字体颜色 #00000 可以减少到 #000)方面做得最好,但这是一个好的开始。我有一个运行 htmlmin 的 try/except 块,然后如果失败,则使用 html_slimmer,因为 htmlmin 似乎提供了更好的压缩,但它不支持非 ascii 字符。
示例代码:
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',' ') )
Run Code Online (Sandbox Code Playgroud)
祝你好运!
我想在GAE中确实不需要缩小您的html,因为GAE已经在GAE(Community Wiki)上将其Caching&GZip压缩为gzip。
我没有进行测试,但是缩小版的html可能只会赢得1%的大小,因为一旦两个版本都被压缩,它只会删除空间。
如果您想保存存储(例如通过memcached进行存储),则比通过python删除空间更感兴趣(即使在较低的压缩级别下),如在python中那样,它可能会更小,更快,而不是纯python。
| 归档时间: |
|
| 查看次数: |
8999 次 |
| 最近记录: |