美丽的汤:提取标记和非标记HTML文本
问题描述:
与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_sibling
(https://stackoverflow.com/a/23380225/1726290),但我被卡住,因为我需要文本的一部分是塔格编辑和第二部分是不是。任何帮助,将不胜感激。
答
看起来你想要的是在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
什么是无标记?所有你想要的是td文本。 –
尊敬的坎宁安先生,对不起,您觉得有必要发表一条评论,对这个领域的新手表示很少的同情心。提问者可能不太清楚对你而言可能是非常明显的。 – MichaelMaggs
如果你是RTFM,那么这对你来说将是非常明显的,这是任何人在阅读优秀,全面和易于理解的bs4文档5分钟后就会知道的。作为一名新手而没有做出基本的努力是有区别的。 –