Python 从bs4元素标记获取特定数据

Python 从bs4元素标记获取特定数据,python,html,beautifulsoup,Python,Html,Beautifulsoup,我正在使用bs4从网站获取数据。我正在使用select方法执行CSS选择操作。但我无法提取我想要的值 这是我的代码: data = bs4.BeautifulSoup(data.content,'lxml') html_PER = data.select('tr[title="Price to Earnings Ratio Basico"]')` 这就是我得到的: [<tr title="Price to Earnings Ratio Basico"

我正在使用bs4从网站获取数据。我正在使用select方法执行CSS选择操作。但我无法提取我想要的值

这是我的代码:

data = bs4.BeautifulSoup(data.content,'lxml')
html_PER = data.select('tr[title="Price to Earnings Ratio Basico"]')`
这就是我得到的:

[<tr title="Price to Earnings Ratio Basico">
 <td>PER Basico:</td>
 <td align="right">
 <span class="cash daily" data-decimals="2" data-format="%s%v" data-suffix="" data-symbol="">16,53639823662936</span>
 </td>
 </tr>]
[
佩尔巴斯科:
16,53639823662936
]
我想提取16.53的值。但我不知道怎么做


我相信有一个最简单的方法可以做到这一点。但我是网页抓取新手,对html一无所知。

您可以使用CSS选择器:

td > span.cash.daily
在结果
html\u PER
元素上

因此,您可以:

values = [tr.select_one('td > span.cash.daily').text for tr in html_PER]

请注意,当您知道只有一个标记元素时,请使用
select\u one
而不是
select
,以便在第一次匹配后提前触发,从而获得更快的响应