使用python的bs4的HTML选择器

时间:2018-02-01 02:35:16

标签: python html css beautifulsoup

我是相当新的,我正在努力通过自动化无聊的东西,并在此过程中制作我自己的一些程序。我正在尝试使用漂亮汤的“选择”方法从该代码中提取值“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作为结果)

1 个答案:

答案 0 :(得分:0)

我认为你有几个不同的问题。

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

所以你的选择器应该是div。如果您的整个HTML都是您展示的部分,那么“span”就足够了,但我猜你是通过指定父级和那些类来解决这个问题。

其次,您选择的是元素,而不是文本内容。您需要div > span.wu-value.wu-value-to才能获取文字内容。

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

your_node.text