0

文字列としてのみ使用できるタグがあります。例: tag_str = 'こんにちは'

私が次のことをするとき:

template_logo_h1_tag.insert(0, tag_str)

template_logo_h1_tag は h1 タグです

結果の template_logo_h1_tag は

<h1 id="logo">&lt;a&gt;hello&lt;/a&gt;</h1>

この HTML エスケープを回避し、結果のタグが

<h1 id="logo"><a>hello</a></h1>

不足しているものはありますか?私は BeautifulSoup.HTML_ENTITIES を試しましたが、これはすでに "html エスケープ" された文字列をエスケープ解除します。あなたが私を助けてくれるなら、それは素晴らしいことです!

4

2 に答える 2

1

汚いハックを見つけました:

template_logo_h1_tag.insert(0, BeautifulSoup('hello').a)

于 2012-11-08T06:53:45.693 に答える
1

Beautiful Soup の .append メソッドを探していると思います: http://www.crummy.com/software/BeautifulSoup/bs4/doc/#append

新しいタグを作成するためのファクトリ メソッドと組み合わせて使用​​します:soup.new_tag()

コードによる更新:

soup=BeautifulSoup('<h1 id="logo"></h1>')
template_logo_h1_tag=soup.h1
newtag=soup.new_tag("a")
newtag.append("hello")
template_logo_h1_tag.append(newtag)

それで

print soup.prettify

収量

<h1 id="logo">
 <a>
  hello
 </a>
</h1>
于 2012-11-08T21:22:44.487 に答える