我正在尝试通过删除必需的属性来删除html页面。我能够删除包含空内容但仍然被删除了pilcrow标记的标记
input: `<h2>Tutorial material<a>¶</a></h2>
预期产出:
<h2>Tutorial material<a></a></h2>
代码:
elements = soup.find_all(True)
for el in elements:
if len(el.text) == 0:
el.extract()
print soup
此代码删除了内容为空的标签,但我无法删除pilcrow标志
`
答案 0 :(得分:1)
尝试添加
#!/usr/bin/env python
# -*- coding: utf-8 -*-
到你的python文件的开头,并在需要时将pilcrow标志引用为u'¶'
。
答案 1 :(得分:0)
您提供的代码会删除空节点,您只需将其修改为包含@Robin注释。
一种解决方案是检查节点文本是否为空或等于¶,并将其删除:
elements = soup.find_all(True)
for el in elements:
if len(el.text) == 0 or el.text == u'¶':
el.extract()
print soup
答案 2 :(得分:0)
检查文本是否(仅)是pilcrow:
elements = soup.find_all(True)
for el in elements:
if len(el.text) == 0 or el.text == u'¶':
el.extract()
print(soup)