在href标记中查找匹配项

2024-10-01 13:27:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Beautiful Soup来查找所有<a>元素,其中href属性包含特定的字符串。在

完整元素的一个例子是:

<a href="/markets/NZSX/securities/ABA">ABA</a>

我在寻找href包含{}的所有元素。在

我希望从这个元素中提取文本。在示例中,这将是ABA。在


Tags: 字符串文本元素示例属性例子hrefsecurities
2条回答

为了扩展alecxe编写的非常有用的答案,我还能够找到以特定字符串开头的类。这句话来自维基百科:

soup.find('table' , class_=lambda class_: class_ and class_.startswith("infobox")).find('th', string="Born")

有几种方法可以达到这个目的。使用^{}

soup.find_all("a", href=re.compile(r"^/markets/NZSX/securities/"))
soup.find_all("a", href=lambda href: href and href.startswith("/markets/NZSX/securities/"))

或者,用CSS selector

^{pr2}$

上面将检查href/markets/NZSX/securities/开头。如果要应用“包含”复选框:

soup.find_all("a", href=re.compile(r"/markets/NZSX/securities/"))
soup.find_all("a", href=lambda href: href and "/markets/NZSX/securities/" in href)
soup.select('a[href*="/markets/NZSX/securities/"]')

相关问题 更多 >