首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python在类中查找span

Python在类中查找span
EN

Stack Overflow用户
提问于 2016-03-19 15:46:41
回答 2查看 2.9K关注 0票数 1

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

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

代码语言:javascript
复制
<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>

我正在尝试从我的脚本中获得“最后一台服务器交付”。我仍在学习,希望能得到帮助:

代码语言:javascript
复制
page = requests.get('...')
tree = page.content

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

我可能在find语句中遗漏了一些,因为这是我现在所坚持的地方,尝试了一些不同的东西,但不确定如何才能像我所需要的那样得到一个有效的输出。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-19 16:00:30

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

代码语言:javascript
复制
table = soup.find('tbody').find('tr', {'class': 'zone-dedicated-availability'}) 

甚至更好:

代码语言:javascript
复制
table = soup.find('tr', {'class': 'zone-dedicated-availability'}) 

还可以使用select方法:

代码语言:javascript
复制
soup.select('tbody tr.zone-dedicated-availability')

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

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2016-03-19 15:59:18

您是否尝试过使用“专区专用可用性”类来查找表行?看起来,您目前正在搜索包含该类的表体,但它无法找到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36103755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档