我是 python 和 beautifulsoup 的新手,所以也许有一个我找不到的简单答案。
当我调用 .new_tag('name')
时,我还可以分配像 .new_tag('a', href='#', id='link1') 这样的属性
但是我不能这样分配类,因为它是保留字。我也不能以这种方式添加名称,因为它被用作标签名称属性的关键字。我知道我可以稍后添加它们,例如使用 tag['class']
,但我想知道,这是将类添加到新标签的唯一方法吗?或者有一种方法可以一步完成吗?
最佳答案
你是对的 - class 是 python 保留字,不能用作关键字参数,因为语言解析器会提示。
有一种解决方法 - 您可以通过以 **
开头的字典为函数关键字参数提供参数。
这样,“class”只是另一个字符串,在解析 python 语法时不会与保留字冲突,但关键字参数会在运行时正确传递。
在您的情况下,解决方法应该是 -
soup.new_tag('a', href='#', id='link1', **{'class':'classname'})
我知道有点丑,但它有效..;)
关于python beautifulsoup new_tag : assign class as an attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042963/