BeautifulSoup模块过滤掉html标签,只拿文本内容,处理XSS攻击


from bs4 import BeautifulSoup
#kindeditor
def kindeditor(request):
s = '''
<li><span >默认值: false</span></li>
  '''
bs = BeautifulSoup(s,"html.parser")
print(bs.text)
return render(request,"KindEditor.html")
结果:
只获取到了 默认值: false
s = '''
<li><span >默认值: false</span></li>
<a href="http://111111">test</a>
'''
bs = BeautifulSoup(s,"html.parser")
print(bs.text)
for tag in bs.find_all(): #查找所有的标签 按层级查找的
print(tag.name) #显示标签名
print(tag.get("href")) #获取href标签的内容
if tag.name in ["span"]: #里面是否有span标签
tag.decompose() #删除span 标签
print(bs)
return render(request,"KindEditor.html")