gpt4 book ai didi

python - beautifulsoup 查找某个子项下的所有子项

转载 作者:行者123 更新时间:2023-12-02 18:34:22 25 4
gpt4 key购买 nike

所以我基本上试图找到这个 ul 的子元素,但只找到子元素下的元素

所以如果我有这个 html block

<ul>
<li class = "list_item_1">item 1</li>
<li class = "list_item_2">item 2</li>
<li class = "list_item_3">item 3</li>
<li class = "list_item_4">item 4</li>

</ul>

我想使用 find_all 抓取第二个项目下面的子项

所以我希望 find_all 的输出是

[<li class = "list_item_3">item 3</li> , <li class = "list_item_4">item 4</li>]

最佳答案

您可以将 .find_all(recursive=False) 与列表切片一起使用:

from bs4 import BeautifulSoup

html_doc = """
<ul>
<li class = "list_item_1">item 1</li>
<li class = "list_item_2">item 2</li>
<li class = "list_item_3">item 3</li>
<li class = "list_item_4">item 4</li>

</ul>
"""

soup = BeautifulSoup(html_doc, "html.parser")

print(soup.ul.find_all(recursive=False)[2:])

打印:

[<li class="list_item_3">item 3</li>, <li class="list_item_4">item 4</li>]

或者,如果您愿意使用 .select,则可以将 CSS 选择器与 ~ 结合使用:

print(soup.select(".list_item_2 ~ *"))

打印:

[<li class="list_item_3">item 3</li>, <li class="list_item_4">item 4</li>]

关于python - beautifulsoup 查找某个子项下的所有子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68989063/

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