#oyasuminase

駆け出しオタクエンジニア

BeautifulSoup4で値を取得したい要素に<br/>が含まれているとき

こんなのとかです。

<p>
  hoge
  <br/>
  piyo
</p>

このpに対してget_text()をすると返却値はhogepiyoになります。

from bs4 import BeautifulSoup  

html = '<p>hoge<br/>piyo</p>'  

soup = BeautifulSoup(html, 'html.parser')  

print(soup.get_text()) 
# -> hogepiyo

<br/>などタグによる区切りを指定したいときにはget_text()の引数を用いることで任意の値で区切られた文字列を取得することができます。

print(soup.get_text(','))
# -> hoge,piyo

split()と組み合わせることで配列を生成できます。

print(soup.get_text(',').split(','))
# -> ['hoge', 'piyo']

何かに使えます。