パハットノート

主にUnity(C#)を中心としたプログラムの備忘録

Python beautifulSoup タグの取得・追加





取得

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)

作成したタグに末尾に追加できる。

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)

こちらの追加では何番目に追加するかを指定して追加をすることができます。

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>