contents = soup.select("p > span")
contents = soup.select("p span")
注意:中间空格至少一个,多了也没事。
上面,中间加与不加>,选择的结果是不同的。
当加入>时,表示选择p标签下的子标签span,只选择其子标签span,对于子标签span下的嵌套的孙子标签span,则会在子标签span中包含返回,不再做为结果List中的一项。
当不添加>时,表示选择p标签下的所有子span,和孙子标签span。一个Span做为一个输出,多个嵌套时,输出多个。
测试如下数据:
testData = """<p>
<span style="font-size:18px;">
AAAAA
<span style="line-height:2;">BBBB</span>
<span style="line-height:2;">CCCC</span>
</span>
</p>"""
可以看到,span有嵌套。
soup.select("p span")输出结果:
soup.select("p > span")输出结果: