gpt4 book ai didi

python - BeautifulSoup4/CSS选择器如何选择

转载 作者:行者123 更新时间:2023-11-30 23:07:55 28 4
gpt4 key购买 nike

<div class="myDivClass">
<table class="myTableClass">
<tr>
<td>
stuff-1A
<table class="myTableClass">
<tr>
<td>stuff-1B</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
stuff-2A
<table class="myTableClass">
<tr>
<td>stuff-2B</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
stuff-3A
<table class="myTableClass">
<tr>
<td>stuff-3B</td>
</tr>
</table>
</td>
</tr>
</table>
</div>

给定一个看起来像这样的布局,使用 beautifulSoup4 如何仅从主外部表(其中包含同一类的子表)中选择 td 标签?

我正在尝试使用 .select() 方法。

到目前为止我已经

soup.select("div.myDivClass > table.myTableClass")

返回主外部表。但我需要其中的 td 标签。

我试过了

soup.select("div.myDivClass > table.myTableClass tr td")

但这会返回所有 td 标签


编辑:有人询问预期输出

我不确定 BeautifulSoups 到底是如何返回 .select() 方法的,但类似这样的事情

['<td>stuff-1a<table class="myTableClass"><tr><td>stuff-1B</td></tr></table></td>',

'<td>stuff-2a<table class="myTableClass"><tr><td>stuff-2B</td></tr></table></td>',

'<td>stuff-3a<table class="myTableClass"><tr><td>stuff-3B</td></tr></table></td>']

这是一个字符串数组,字符串只是主外表的td标签及其在html中的内容

最佳答案

您可以使用 > tr > td 而不是 tr td 来完成此任务。使用前者,您只能获得 tr ,然后获得 td 元素,这些元素是您已成功选择的外部表的直接子元素:

div.myDivClass > table.myTableClass > tr > td

供引用:MDN: Child selectors

关于python - BeautifulSoup4/CSS选择器如何选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31998600/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com