タグの取得
ソースコード
import bs4 #soupオブジェクトを作成 soup = bs4.BeautifulSoup('<div><p class="test"></p></div>', 'html.parser') #表示 print(soup) #div内のpタグを取得 p_tag = soup.div.p #p_tagの表示 print(p_tag)
実行結果
<div><p class="test"></p></div> <p class="test"></p>
追加
末尾への追加(append)
appendで作成したタグの末尾に追加できる。
ソースコード
import bs4 soup = bs4.BeautifulSoup('', 'html.parser') #divタグを作成 div_tag = soup.new_tag('div') #divタグ内にp_tagを追加 div_tag.append(soup.new_tag('p')) #divタグ内にspan_tagを追加 div_tag.append(soup.new_tag('span')) print(div_tag)
実行結果
<div><p></p><span></span></div>
位置を指定して追加(insert)
insertでは何番目に追加するかを指定して追加をすることができます。
ソースコード
import bs4 #soupオブジェクトを作成 soup = bs4.BeautifulSoup('', 'html.parser') #divタグ、pタグを追加 soup.append(soup.new_tag('div')) soup.append(soup.new_tag('p')) #表示 print(soup) #先頭に対してbrを追加 soup.insert(0, soup.new_tag('span')) #表示 print(soup) #2番目にp(class="test")を追加 p_tag = soup.new_tag('p') p_tag['class'] = 'test' soup.insert(2, p_tag) #表示 print(soup)
実行結果
実行結果<div></div><p></p> <span></span><div></div><p></p> <span></span><div></div><p class="test"></p><p></p>