【问题标题】:Shortening HTML files缩短 HTML 文件
【发布时间】:2014-06-26 16:30:57
【问题描述】:

是否有缩短 HTML 页面的库(最好是 Python 库)?我的意思是它会产生一个可能更小的(就字符数而言,包括换行符

例如:

<b>
    Silly example
</b>

可以改为:

<b>Silly example</b>

最终的结果是一样的:

愚蠢的例子

【问题讨论】:

  • 不同的是我说的是HTML而不是XML...
  • 阅读答案。他们中的大多数处理HTML。如果您知道您的 HTML 格式不正确,那么您可以使用 BeautifulSoup 甚至 HTMLParser 类。

标签: python html


【解决方案1】:

您可以使用BeautifulSoup 在 Python 中美化(而不是缩小)HTML 或 XML 代码。

from bs4 import BeautifulSoup
soup = BeautifulSoup('file.html')
prettified = soup.prettify(encoding="utf8")

要在 Python 中缩小 HTML,您可以使用 htmlminhtmlmin.minify的更多参数可以在documentation中找到。

import htmlmin

with open('file.html', 'r') as f:
    content = f.read()
    minified = htmlmin.minify(content, remove_empty_space=True)

【讨论】:

  • “美化”不做与我想要的完全相反的事情吗?我认为“美化”会使它更长(而不是排序)。我说的对吗?
  • 这个答案是错误的。 OP 想要压缩 HTML。
  • 此外,“美化”似乎并没有删除换行符。相反,它会添加它们并可能使我的文件更长...
  • 请谨慎使用 htmlmin(和其他压缩工具),我遇到过将标题标签从头部移动到正文的情况......
【解决方案2】:

你可以使用htmlmin

import htmlmin

input_html = '<b>\n\tSilly example\n</b>'

minified_html = htmlmin.minify(input_html)

print(input_html)

# <b>
#   Silly example
# </b>


print(minified_html)

# <b> Silly example </b>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 2016-12-06
    • 2011-12-29
    • 1970-01-01
    相关资源
    最近更新 更多