我正在尝试使用Beautiful Soup来查找<a>
属性包含某个字符串的所有href
元素。
完整元素的一个例子是:
<a href="/markets/NZSX/securities/ABA">ABA</a>
我正在寻找href
包含"/markets/NZSX/securities/"
的所有元素。
我希望从此元素中提取文本。在示例中,这将是ABA
。
答案 0 :(得分:8)
有几种方法可以实现这一目标。使用.find_all()
:
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:
soup.select('a[href^="/markets/NZSX/securities/"]')
以上内容会检查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/"]')