Moe*_*qra 2 python beautifulsoup web-scraping python-3.x
所以我基本上试图找到这个 ul 的孩子,但只找到孩子下的元素
所以如果我有这个 html 块
<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>
Run Code Online (Sandbox Code Playgroud)
我想使用 find_all 抓住第二个项目下面的孩子
所以我希望 find_all 的输出是
[<li class = "list_item_3">item 3</li> , <li class = "list_item_4">item 4</li>]
Run Code Online (Sandbox Code Playgroud)
您可以.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:])
Run Code Online (Sandbox Code Playgroud)
印刷:
[<li class="list_item_3">item 3</li>, <li class="list_item_4">item 4</li>]
Run Code Online (Sandbox Code Playgroud)
或者,如果您愿意使用.select,则可以将 CSS 选择器与 一起使用~:
print(soup.select(".list_item_2 ~ *"))
Run Code Online (Sandbox Code Playgroud)
印刷:
[<li class="list_item_3">item 3</li>, <li class="list_item_4">item 4</li>]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32 次 |
| 最近记录: |