我正在使用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.53值。但是我不知道如何。
我敢肯定有最简单的方法来做到这一点。但是我是Web爬虫的新手,我对html一无所知。
答案 0 :(得分:0)
您可以使用CSS选择器:
td > span.cash.daily
在结果html_PER
元素上。
因此,您可以这样做:
values = [tr.select_one('td > span.cash.daily').text for tr in html_PER]
请注意,当您知道只有一个标记元素时,请使用select_one
而不是select
,以便通过在第一场比赛后尽早爆发来获得更快的响应。