我使用下面的内容来获取节的所有html内容以保存到数据库
el = doc.get_element_by_id('productDescription')
lxml.html.tostring(el)
Run Code Online (Sandbox Code Playgroud)
产品说明的标签如下所示:
<div id='productDescription'>
<THE HTML CODE I WANT>
</div>
Run Code Online (Sandbox Code Playgroud)
代码工作得很好,给了我所有的html代码但是如何删除外层即the <div id='productDescription'>和close标签</div>?
您可以将每个子项单独转换为字符串:
text = el.text
text += ''.join(map(lxml.html.tostring, el.iterchildren()))
Run Code Online (Sandbox Code Playgroud)
或者以更黑客的方式:
el.attrib.clear()
el.tag = '|||'
text = lxml.html.tostring(el)
assert text.startswith('<'+el.tag+'>') and text.endswith('</'+el.tag+'>')
text = text[len('<'+el.tag+'>'):-len('</'+el.tag+'>')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1638 次 |
| 最近记录: |