Beautifulsoup 选择包含特定属性的元素

Beautifulsoup selecting the element that contains certain attribute

我想 select 第二个元素,方法是指定其中包含“title”元素(我不想只 select 列表中的第二个元素)

sample = """<h5 class="card__coins">
 <a class="link-detail" href="/en/coin/smartcash">SmartCash (SMART)</a>
 </h5>
 <a class="link-detail" href="/en/event/smartrewards-812" title="SmartRewards">"""

我该怎么做? 我的代码(不起作用):

from bs4 import BeautifulSoup
soup = BeautifulSoup(sample.content, "html.parser")
second  = soup.find("a",  {"title"})
for I in soup.find_all('a', title=True):
    print(I)

遍历所有 a 标签后,我们正在检查它是否包含 title 属性,只有包含 title 属性时才会打印它。

另一种方法是使用 CSS selector

soup.select_one('a[title]')

这将选择具有 title 属性的第一个 a 元素。