擅长:python、mysql、java
<p>您正在搜索的文本<code>Shop</code>位于<code>span</code>标记内,因此当您尝试使用正则表达式时,它无法使用正则表达式获取值</p>
<p>您可以尝试使用正则表达式来查找文本,然后查找该文本的父级</p>
<pre><code>import re
html = """<a class="nav-link" href="https://cbd420.ch/fr/tous-les-produits/">
<span class="cbp-tab-title">
Shop <i class="fa fa-angle-down cbp-submenu-aindicator"></i></span>
</a>"""
soup = BeautifulSoup(html, 'html.parser')
print(soup.find(text=re.compile('Shop')).parent.parent)
</code></pre>
<p>如果您有BS4.7.1或更高版本,您可以使用以下css选择器</p>
<pre><code>html = """<a class="nav-link" href="https://cbd420.ch/fr/tous-les-produits/">
<span class="cbp-tab-title">
Shop <i class="fa fa-angle-down cbp-submenu-aindicator"></i></span>
</a>"""
soup = BeautifulSoup(html, 'html.parser')
print(soup.select_one('a:contains("Shop")'))
</code></pre>