find_allと正規表現を組み合わせる

urlにolympicが入っているか、regular expressionで検索します。

from bs4 import BeautifulSoup
import re #正規表現を使用

html = """
<ul>
	<li><a href="https://tokyo2020.org/jp/">東京オリンピック</a></li>
	<li><a href="https://www.joc.or.jp/games/olympic/">日本オリンピック委員会</a></li>
	<li><a href="https://www.2020games.metro.tokyo.jp/taikaijyunbi/olympic/index.html">東京都オリンピック・パラリンピック準備局</a></li>
	<li><a href="https://www.asahi.com/olympics/">朝日新聞デジタル 2020東京オリンピック</a></li>
</ul>
"""
soup = BeautifulSoup(html, "html.parser")
li = soup.find_all(href=re.compile(r"olympic"))
for e in li:print(e.string)

[vagrant@localhost python]$ python3 app.py
日本オリンピック委員会
東京都オリンピック・パラリンピック準備局
朝日新聞デジタル 2020東京オリンピック

print(e.attrs[‘href’])とすると、href属性を取得します。
[vagrant@localhost python]$ python3 app.py
https://www.joc.or.jp/games/olympic/
https://www.2020games.metro.tokyo.jp/taikaijyunbi/olympic/index.html
https://www.asahi.com/olympics/