我需要找到所有内嵌注册鼠标事件的标签 例如,它应该找到像:
这样的标签<div onmousedown="somefunc()"> Some text here </div>
我可以使用bs4 docs中给出的函数进行检查:
def reg_event(tag):
return tag.has_key('onmousedown')
tags_with_mouse_event = soup.find_all(reg_event)
但检查多个需要很多.has_key结合或..有一些更简单的方法吗?
答案 0 :(得分:0)
您可以选择具有on..
属性的所有代码,例如:
soup.find_all(lambda tag: any(attr.startswith('on') for attr in tag.attrs.keys()))
否则,请制作set
您所追踪的事件并执行以下操作:
events = {'onmousedown', 'onmouseup', 'onclick'} # etc...
soup.find_all(lambda tag: any(attr in events for attr in tag.attrs.keys()))