1

一致する HTML タグのペアを別のタグに置き換える必要があります。おそらく BeautifulSoup (4) がこのタスクに適していますが、これまで使用したことがなく、適切な例がどこにも見つかりませんでした。誰かヒントを教えてもらえますか?

たとえば、次の HTML コード:

<font color="red">this text is red</font>

これに変更する必要があります:

<span style="color: red;">this text is red</span>

HTML の開始タグと終了タグが同じ行にない場合があります。

4

1 に答える 1

8

replace_with()エレメントの置換に使用します。ドキュメントの例をあなたの例に適応させると、次のようになります。

>>> from bs4 import BeautifulSoup
>>> markup = '<font color="red">this text is red</font>'
>>> soup = BeautifulSoup(markup)
>>> soup.font
<font color="red">this text is red</font>
>>> new_tag = soup.new_tag('span')
>>> new_tag['style'] = 'color: ' + soup.font['color']
>>> new_tag.string = soup.font.string
>>> soup.font.replace_with(new_tag)
<font color="red">this text is red</font>
>>> soup
<span style="color: red">this text is red</span>
于 2013-03-21T11:25:14.607 に答える