2016-09-28 107 views
0

與BS4一個新手,我的工作如何從一系列的網頁表格,其中之一是這樣的提取文本尋找一些幫助:美麗的湯:提取標記和非標記HTML文本

<table style="padding:0px; margin:1px" width="715px"> 
<tr> 
<td height="22" width="33%" > 
<span class="darkGreenText"><strong> Name: </strong></span> 
Tyto alba 
</td> 
<td height="22" width="33%" > 
<span class="darkGreenText"><strong> Order: </strong></span> 
Strigiformes 
</td> 
<td height="22" width="33%"> 
<span class="darkGreenText"><strong> Family: </strong></span> 
Tytonidae 
</td> 
<td height="22" width="66%" colspan="2"> 
<span class="darkGreenText"><strong> Status: </strong></span> 
Least Concern 
</td> 
</tr> 
</table> 

所需的輸出:

Name: Tyto alba 
Order: Strigiformes 
Family: Tytonidae 
Status: Least Concern 

使用[index]推薦(https://stackoverflow.com/a/35050622/1726290)我試過, 也next_siblinghttps://stackoverflow.com/a/23380225/1726290),但我被卡住,因爲我需要文本的一部分是塔格編輯和第二部分是不是。任何幫助,將不勝感激。

+0

什麼是無標記?所有你想要的是td文本。 –

+0

尊敬的坎寧安先生,對不起,您覺得有必要發表一條評論,對這個領域的新手錶示很少的同情心。提問者可能不太清楚對你而言可能是非常明顯的。 – MichaelMaggs

+0

如果你是RTFM,那麼這對你來說將是非常明顯的,這是任何人在閱讀優秀,全面和易於理解的bs4文檔5分鐘後就會知道的。作爲一名新手而沒有做出基本的努力是有區別的。 –

回答

1

看起來你想要的是在BeautifulSoup標籤上調用get_text(strip=True)docs)。假設raw_html是你在上面粘貼HTML:它打印

htmlSoup = BeautifulSoup(raw_html) for tag in htmlSoup.select('td'): print(tag.get_text(strip=True))

Name:Tyto alba Order:Strigiformes Family:Tytonidae Status:Least Concern

+1

非常感謝,這正是我一直在尋找的。我會跟進更多關於'get_text(strip = True)'的閱讀 – MichaelMaggs