2013-04-13 60 views
2

我跨度標籤包括:<span id="internal-source-marker_0.9510186333209276"><span>如何使用美麗的湯在html中獲取span標記的值?

我想要做的是轉換到這<span><span>

基本上,我想要得到的檢查,如果跨度具有價值給它的ID,然後將其徹底刪除。我完全困惑如何去做這件事。它應該是正則表達式還是美麗的湯?

正則表達式的問題是,我不知道如何替換一個子字符串,一旦匹配。

也許做美麗的湯和正則表達式的組合? (不知道這是否是一個好的和有效的想法。)

回答

2

只需從attrib映射中刪除屬性;假設你有一個局部變量span<span>標籤的參考:

if span.has_key('id'): 
    del span['id'] 

演示:

>>> soup = BeautifulSoup('<span id="internal-source-marker_0.9510186333209276"></span>') 
>>> span = soup.find('span') 
>>> span 
<span id="internal-source-marker_0.9510186333209276"></span> 
>>> if span.has_key('id'): 
...  del span['id'] 
... 
>>> span 
<span></span> 
+0

如果我可能會問,如果這樣的任務是使用正則表達式完成,其中一個會更快? – Hick

+0

@Hick:完全取決於span標籤上可能存在的其他*屬性。正則表達式和HTML/XML可以真正快速地變得非常複雜。 –