Python BeautifulSoup在类中找到span

时间:2016-03-19 15:46:42

标签: python beautifulsoup

我正在尝试创建一个python脚本,该脚本在来自类的垃圾邮件中找到特定的测试。不幸的是,我一直得到一个空洞的回答或“没有”。

它来自一个非常具体的页面,所以生病粘贴它的一小部分,我试图找到:

$ awk 'NR == FNR { a[$5]; next } !($5 in a)' file1 file2
chr10    102732659   102732803   chr10:102732659-102732803   C10ORF2-1652|gc=59.4
chr10    102732875   102733044   chr10:102732875-102733044   C10ORF2-1653|gc=61.3

我正试图从我的脚本中获取“最后一台服务器”tekst。我还在学习,所以会很感激帮助:

<tbody>
<tr class="zone-dedicated-availability" data-actions="refUnavailable" data-dc="" data-ref="160sk5" data-availability="3600-">

<td class="show-on-ref-unavailable elapsed-time-since-last-delivery" colspan="5">
<span qtlid="47402">
                                        Last server delivered: today at 01:59.
                                    </span><br><a style="font-     size:14px;" href=".." qtlid="50602">Go for a VPS-CLOUD<br><span style="font-size:0.9em;" qtlid="50615">(from £5.99 excl.VAT)</span></a>
</td>

我可能在查找语句中遗漏了一些内容,因为这是我现在停留的地方,尝试了一些不同的东西,但不知道如何获得我需要的有效输出。

2 个答案:

答案 0 :(得分:1)

class属性位于tr,因此您需要使用此功能:

table = soup.find('tbody').find('tr', {'class': 'zone-dedicated-availability'}) 

甚至更好:

table = soup.find('tr', {'class': 'zone-dedicated-availability'}) 

您还可以使用CSS selector and the select方法:

soup.select('tbody tr.zone-dedicated-availability')

获取您想要的数据是在第一个&#34; span&#34;因此qtlid="47402"

In [19]: soup.find('tr', class_='zone-dedicated-availability').find('span', qtlid='47402').get_text(strip=True)
Out[19]: 'Last server delivered: today at 01:59.'

答案 1 :(得分:0)

您是否尝试过使用&#34; zone-dedicated-availability&#34;类的表格行?您似乎正在搜索具有该类的表主体,并且无法找到它。