BeautifulSoup4输出中的布尔属性

时间:2017-10-23 16:02:29

标签: python beautifulsoup

我使用<script async ...>来异步加载JavaScript文件。当我使用BeautifulSoup4将文件加载到Python中时,进行一些不相关的更改并保存结果,BeautifulSoup4将我的<script>语句转换为<script async="" ...>。有没有办法阻止BeautifulSoup4附加多余的...=""

最小的“工作”示例:

In [1]: import bs4

In [2]: str(bs4.BeautifulSoup('<script async src="test.js"/>', 'html.parser'))
Out[2]: '<script async="" src="test.js"></script>'

1 个答案:

答案 0 :(得分:1)

你可以设置&#39; async&#39;属性为None,如果您希望它没有值。

soup = bs4.BeautifulSoup('<script async src="test.js"/>', 'html.parser')
for tag in soup.find_all('script', async=''):
    tag['async'] = None
print(str(soup))
  

<script async src="test.js"></script>