skip to content
barorin&?

Beautiful Soup4のfind()とselect()の使い方メモ

/ 2 min read

はじめに

Beautiful Soup4のfind()とselect()の使い方まとめです。

使用方法

find()

# タグの指定
soup.find('li')

# idの指定
soup.find(id='hoge')
soup.find(id=['hoge', 'fuga']) # OR検索

# タグとidで指定
soup.find('div', id='hoge')

# クラスの指定
soup.find(class_='hoge')
soup.find(class_='hoge fuga') # AND検索

# タグとクラスで指定
soup.find('li', class_='hoge')

select()

# タグの指定
soup.select('li')

# idの指定
soup.select('#hoge')
soup.select('#hoge', '#fuga') # OR検索

# タグとidで指定
soup.select('div#hoge')

# クラスの指定
soup.select('.hoge')
soup.select('.hoge.fuga') # AND検索

# タグとクラスで指定
soup.select('li.hoge')
'''
ここから下はselect特有(find系ではできない...はず)
'''
# タグの直下のタグを指定
soup.select('div > ul > li')

# タグの親子関係を指定
soup.select('div li')

#タグの親子関係にid指定を組み合わせる
soup.select('div#hoge li')

おまけ

タグを除去したいときは soup.get_text()で。
find_all()と対応するのは select()、find()は select_one()。ややこしい…。