nae*_*aeg 6 python lxml beautifulsoup html-parsing
如何从HTML代码中删除某些属性,如id,style,class等?
我以为我可以使用lxml.html.clean模块,但事实证明我只能删除样式属性Clean(style=True).clean_html(code).我不想在这个任务中使用正则表达式(属性可能会改变).
我想拥有什么:
from lxml.html.clean import Cleaner
code = '<tr id="ctl00_Content_AdManagementPreview_DetailView_divNova" class="Extended" style="display: none;">'
cleaner = Cleaner(style=True, id=True, class=True)
cleaned = cleaner.clean_html(code)
print cleaned
'<tr>'
Run Code Online (Sandbox Code Playgroud)
提前致谢!
unu*_*tbu 10
cleaner.Cleaner.__call__有一个safe_attrs_only参数.设置为时True,仅clean.defs.safe_attrs保留属性.您可以通过更改删除任何或所有属性clean.defs.safe_attrs.完成后,请务必将其更改回来.
import lxml.html.clean as clean
code = '<tr id="ctl00_Content_AdManagementPreview_DetailView_divNova" class="Extended" style="display: none;">'
safe_attrs = clean.defs.safe_attrs
cleaner = clean.Cleaner(safe_attrs_only=True, safe_attrs=frozenset())
cleansed = cleaner.clean_html(code)
print(cleansed)
Run Code Online (Sandbox Code Playgroud)
产量
<tr></tr>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3343 次 |
| 最近记录: |