html格式文件如何整体打印,如何使用缩进将HTML打印到文件中

我使用lxml.html生成一些HTML.我想打印(带缩进)我的最终结果到一个html文件.我怎么做?

这是我迄今为止所尝试过的(我对Python和lxml相对较新):

import lxml.html as lh

from lxml.html import builder as E

sliderRoot=lh.Element("div", E.CLASS("scroll"), style="overflow-x: hidden; overflow-y: hidden;")

scrollContainer=lh.Element("div", E.CLASS("scrollContainer"), style="width: 4340px;")

sliderRoot.append(scrollContainer)

print lh.tostring(sliderRoot, pretty_print = True, method="html")

如您所见,我正在使用pretty_print = True属性.我认为这会给缩进代码,但它并没有真正帮助.这是输出:

< div style =“overflow-x:hidden; overflow-y:hidden;” class =“scroll”>< div style =“width:4340px;”类= “scrollContainer” &GT&LT / DIV&GT&LT / DIV&GT

解决方法:

BeautifulSoup有一种美化方法,可以完全按照它的说法进行操作.它用适当的缩进和一切来美化HTML.

BeautifulSoup不会修复HTML,因此破坏的代码仍然存在.但在这种情况下,由于代码是由lxml生成的,因此HTML代码至少在语义上是正确的.

在我的问题中给出的例子中,我将不得不这样做:

from BeautifulSoup import BeautifulSoup as bs

root = lh.tostring(sliderRoot) #convert the generated HTML to a string

soup = bs(root) #make BeautifulSoup

prettyHTML = soup.prettify() #prettify the html

标签:html,python,pretty-print,lxml

来源: https://codeday.me/bug/20190928/1826482.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值