如何使用 beautifulsoup 找到一个 <div> 在其子项中包含文本

How to use beautifulsoup to locate a <div> with text in its children

<DIV align="center" style="margin-left: 0%; margin-right: 0%; font-size: 10pt; font-family: Arial, Helvetica; color: #000000; background: #FFFFFF">

<A name='123'></A><B><FONT style="font-family: 'Times New Roman', Times">DIRECTOR
COMPENSATION</FONT></B>  </DIV>

您好,我正在从 SEC EDGAR 下载的代理声明中抓取信息。我想知道如何通过美汤"DIRECTOR COMPENSATION"里面的字符串定位到上面?我正在尝试为像这样的其他网页制作一个通用代码,所以我必须依赖关键字。

非常感谢!

这应该得到所有包含 'DIRECTOR COMPENSATION'

的标签
tags = [ tag for tag in soup.find_all() if 'DIRECTOR COMPENSATION' in tag.text ]

如果要对 tag.text 使用正则表达式:

tags = [ 
    tag for tag in soup.find_all('div') 
    if re.search('DIRECTOR\s+COMPENSATION', tag.text, flags=re.IGNORECASE) 
]

如果您想使用关键字列表:

tags = [ 
    tag for tag in soup.find_all('table') 
    if any( re.search(k, tag.text, flags=re.IGNORECASE) for k in ('regex 1', 'regex 2' ) ) 
]