2012-11-08 51 views
0

我有一個標籤,僅供我使用。 例如:tag_str = '你好'如何在BeautifulSoup中添加標籤(以字符串的形式)到湯中

當我做到以下幾點:

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,但是這已經對unescape已經有了「html-escaped」字符串。 如果你能幫助我,這將是非常棒的!

回答

0

我發現了一個骯髒的黑客:(0,BeautifulSoup( '你好')一)

template_logo_h1_tag.insert

1

我認爲你正在尋找美麗的湯的.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> 
+0

感謝ANOV, 但使用soup.new_tag方法,我需要知道它是什麼類型的標籤,什麼屬性。 我只能訪問字符串。 因此,我試過這個解決方法,它爲我工作: newtag.insert(0,BeautifulSoup(given_string)) – Jamal

+0

啊,我現在明白了。很高興它爲你工作! – Anov

相關問題