2016-09-28 132 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

相关问题