Eri*_*ric 6 python beautifulsoup
我目前正在使用BeautifulSoup4和Python 2.7并尝试使用某个class属性实例化一个新标签.我知道如何使用以下属性style:
div = soup.new_tag('div', style='padding-left: 10px', attr2='...', ...)
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用class保留字执行此操作,则会出现错误(语法无效).
div = soup.new_tag('div', class='left_padded', attr2='...', ...) # Throws error
Run Code Online (Sandbox Code Playgroud)
我也尝试过'class'='...',但这也无效.我可以使用Class='...',但输出不符合(所有小写属性名称).
我知道我可以做以下事情:
div = soup.new_tag('div', attr2='...', ...)
div['class'] = 'left_padded'
Run Code Online (Sandbox Code Playgroud)
但这看起来并不优雅或直观.我在文档和Google上的研究都没有结果,因为"类"是一个与我想要的搜索结果无关的常用关键字.
有没有办法可以指定class为属性new_tag()?
这是一个选项:
>>> attributes = {'class': 'left_padded', 'attr2': '...'}
>>> div = soup.new_tag('div', **attributes)
>>> div
<div attr2="..." class="left_padded"></div>
Run Code Online (Sandbox Code Playgroud)
这attributes使用**运算符将字典解压缩为关键字参数,对应**attrs于函数签名soup.new_tag().不过,我认为这不比你使用的解决方案更优雅div['class'].
| 归档时间: |
|
| 查看次数: |
646 次 |
| 最近记录: |