考虑这段代码。
#!/usr/bin/env python
# -*- coding: utf8 -*-
from bs4 import BeautifulSoup
html_doc = """<pre class="code file d"><span class="kw2">import std.stdio
import core.bitop;
// parallel port address
const uint port = 0x0c000;
void main()
{
/*
permission related stuff under linux
*/
/* data */
ubyte data = 0b_11111111;
outp(port, data);
}
</span></pre>
"""
invalid_tags = ['span']
soup = BeautifulSoup(html_doc)
for tag in invalid_tags:
for invalid in soup.findAll(tag):
invalid.replaceWithChildren()
pre_tags = soup.find_all('pre')
for i in range (len(pre_tags)):
pre_tags[i]['class'] = 'prettyprint'
output = soup.prettify(formatter=None)
output_text = output.encode('utf8', 'replace')
output_file = open('test.html', "w")
output_file.write(output_text)
output_file.close()
我有一个简单的 html 文档。在这种情况下,我想删除一些不需要的标签<span>
并更改标签的类名<pre>
。
但是,如果您查看输出文件,则第二行中有不需要的空白字符。
<pre class="prettyprint">
import std.stdio
import core.bitop;
// parallel port address
const uint port = 0x0c000;
void main()
{
/*
permission related stuff under linux
*/
/* data */
ubyte data = 0b_11111111;
outp(port, data);
}
</pre>
我想在第二列之前删除不需要的空格字符,并希望它左对齐。
我怎样才能做到这一点?有任何想法吗。谢谢..