我使用<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>'
最佳答案
您可以将“异步”属性设置为 None
如果你想让它没有值(value)。
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>
关于python - BeautifulSoup4 输出中的 bool 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46893721/