這是我的 html:
html = """<ul id="mostUp">
<li > ?
<a href="x">Countries</a>
</li>
<ul>
<li>
<span >Germany</span>
</li>
<ul>
<li><a href="x">Frankfurt</a></li>
<li><a href="x">München</a></li>
</ul>
</ul>
</ul>
"""
原因country_selection是我可以選擇的唯一獨特元素,我現在正試圖獲得LI's 與城市(法蘭克福和慕尼黑)。
這是我的代碼:
soup = BeautifulSoup(html)
categories = soup.find("span", class_="country_selection")
if categories.parent.parent.find("ul"):
e = categories.parent.parent.select('ul')
for subItem in e:
print(subItem)
但這給了我這個結果:
<ul>
<li><a href="x">Frankfurt</a></li>
<li><a href="x">München</a></li>
</ul>
所以,這意味著,我有父 UL 并且不能遍歷 LI。我不知道為什么!錯誤在哪里?我需要如何更改我的代碼以遍歷這些 LI?
uj5u.com熱心網友回復:
如果你想得到Frankfurtand München,你可以這樣:
from bs4 import BeautifulSoup
html = """<ul id="mostUp">
<li > ?
<a href="x">Countries</a>
</li>
<ul>
<li>
<span >Germany</span>
</li>
<ul>
<li><a href="x">Frankfurt</a></li>
<li><a href="x">München</a></li>
</ul>
</ul>
</ul>
"""
soup = BeautifulSoup(html)
categories = soup.find("span", class_="country_selection")
if categories.parent.parent.find("ul"):
e = categories.parent.parent.select('ul a')
for subItem in e:
print(subItem.text)
印刷:
Frankfurt
München
uj5u.com熱心網友回復:
您不需要父級或 for 回圈!您可以通過這種方式獲得Frankfurt和München:
soup = BeautifulSoup(html)
categories = soup.find("span", class_="country_selection")
data = categories.findNext("ul").text.strip().split()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/401837.html
