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


from bs4 import BeautifulSoup
#kindeditor
def kindeditor(request):
s = '''
<li><span style="font-family: 幼圆; font-size: 16px;">默认值: false</span></li>
  '''

bs = BeautifulSoup(s,"html.parser")
print(bs.text)
return render(request,"KindEditor.html")


结果:
  只获取到了 默认值: false



s = '''
<li><span style="font-family: 幼圆; font-size: 16px;">默认值: 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")
 
原文地址:https://www.cnblogs.com/ajaxa/p/10413265.html