python - BeautifulSoup4 输出中的 bool 属性

标签 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>'

最佳答案

您可以将“异步”属性设置为 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/

相关文章:

python - 做多重积分时, 'takes 0 positional arguments but 1 was given'

python - flask 和 flask-socketio flush all emit 事件

python - Theano:这个共享变量已经有一个更新表达式

python - 如何使用 BeautifulSoup 4 替换或删除 HTML 实体,如 "&nbsp;"

python - pandas to_sql 方法给出日期列错误

python - .upper() 和 .apply(str.upper) 上的括号

javascript - 如何使用 Python 拆分 Javascript 代码 (bs4)

python - BeautifulSoup 检测变化触发器

python - 如何从 html 将结果返回到表或 csv 类型的格式

python - 如何使用 BeautifulSoup 从网站上获取所有标题?