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/