2013-05-19 30 views
0

我試圖從使用bs4的網站提取一些數據,但是我無法訪問我需要的確切文本。使用下面的代碼使用BS4提取數據的問題

name = (soup('td', {'class':'mstat'})) 

輸出

[<td class="mstat" colspan="3"><span class="r">badges</span></td>] 

不過,我需要一流的 「R」。如果我嘗試訪問類的「R」使用下面的代碼我只是得到一個空列表返回[]

name = (soup('td', {'class':'r'})) 

輸出

[] 

我想獲得其內容「徽章」的文字,該文本可以改變長度和不同,所以我不能只刪除周圍的代碼。

所需的輸出

'badges' 

會有人知道我做錯了什麼......

+0

不應該搜索「span」,class _ ='r''而不是od'td'? –

回答

0

你正在尋找一個<span>標籤來代替:

soup('span', class_='r') 

如果你想只找到span這個類裏面的td標籤,​​類,你需要循環:

spans = [] 
for td in soup('td', class_='mstat'): 
    spans.expand(td('span', class_='r'))