2012-11-18 61 views
4

如果我有文本獲取ID名稱:與beautifulsoup

text = '<span id="foo"></span> <div id="bar"></div>' 

與可以改變(可能不具有任何IDS)的文字,我如何使用BeautifulSoup來獲取ID名稱無論標籤名稱(返回['foo','bar'])。我對BeautifulSoup並沒有那麼有經驗,並且對做這個任務感到困惑。

回答

9

您需要使用id屬性獲取標籤,然後將id屬性的值返回給字符串,例如

from BeautifulSoup import BeautifulSoup 
text = '<span id="foo"></span> <div id="bar"></div>' 
pool = BeautifulSoup(text) 
result = [] 
for tag in pool.findAll(True,{'id':True}) : 
    result.append(tag['id']) 

,並導致

>>> result 
[u'foo', u'bar']