使用python的bs4的HTML选择器

问题描述 投票:0回答:1

我是相当新的,我正在努力通过自动化无聊的东西,并在此过程中制作我自己的一些程序。我正在尝试使用美丽的汤'select'方法从这段代码中提取值'33'

<span class="wu-value wu-value-to" _ngcontent-c19="">33</span>

我知道span元素在div中,我尝试了一些选择器,包括:

high_temp = w_u_soup.select('div > span .wu-value wu-value-to')

但是我还没能得到33分。任何帮助,将不胜感激。我试着查看_ngcontent-c19是什么,但是我很难理解到目前为止我发现了什么(我正在尝试学习python,而且似乎我会学习一些HTML作为结果)

python html css beautifulsoup
1个回答
0
投票

我想你在这里有几个不同的问题。

首先,你的选择器是错误的 - 你所拥有的选择器试图在wu-value-to内部的类wu-value中选择一个名为span的元素(它不是一个有效的HTML元素),divdiv > span.wu-value.wu-value-to的直接后代。要选择具有特定类的元素,元素名称和类描述符之间不需要空格。

所以你的选择器应该是your_node.text。如果您的整个HTML都是您展示的部分,那么“span”就足够了,但我猜测您是具体的,因为有一个原因指定了父级和那些类。

其次,您选择的是元素,而不是文本内容。你需要w_u_soup.select('div > span.wu-value.wu-value-to').text 来获取文本内容。

把它放在一起,你应该能够得到你想要的东西:

qazxswpoi
© www.soinside.com 2019 - 2024. All rights reserved.