Python BeautifulSoup在类内查找范围

2022-01-19 01:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

<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>

我正在尝试从我的脚本“最后一个服务器交付”技术。我仍在学习,因此非常感谢您的帮助:

^{pr2}$

我可能在find语句中遗漏了一些内容,因为这正是我目前所处的地方,尝试了一些不同的方法,但不确定如何才能获得所需的有效输出。在

2条回答
网友
1楼 ·

class属性位于tr中,因此您需要使用以下命令:

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

甚至更好:

^{pr2}$

也可以使用CSS selector and the ^{}方法:

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

要获得所需的数据,请使用qtlid="47402"在第一个“span”中,因此:

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.'
网友
2楼 ·

您是否尝试过查找“区域专用可用性”类的表行?似乎您当前正在搜索具有该类的表体,但它找不到它。在

相关问题