我正在使用以下代碼在一段 HTML 代碼中查找屬性:
results = soup.findAll("svg", {"data-icon" : "times"})
這有效,它回傳給我一個帶有標簽和屬性的串列。但是,我還想從 HTML 代碼的那部分移動到它下面的兄弟(如果這是正確的術語),并檢索該段落的內容。請參見下面的示例。
<div class="382"><svg aria-hidden="true" data-icon="times".......</svg></div>
<div class="405"><p>Example</p></div>
我似乎無法弄清楚如何正確地做到這一點。搜索 div 類名不起作用,因為類名是隨機的。
uj5u.com熱心網友回復:
您可以使用 CSS 選擇器 :
from bs4 import BeautifulSoup
html_doc = """
<div ><svg aria-hidden="true" data-icon="times"> ... </svg></div>
<div ><p>Example</p></div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
div = soup.select_one('div:has(svg[data-icon="times"]) div')
print(div.text)
印刷:
Example
或者沒有 CSS 選擇器:
div = soup.find("svg", attrs={"data-icon": "times"}).find_next("div")
print(div.text)
印刷:
Example
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/451766.html
