當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python BeautifulSoup previous_siblings屬性用法及代碼示例


在 Beautiful Soup 中,標簽或字符串的 previous_siblings 屬性返回一個生成器,用於迭代同一父級下的所有先前標簽和字符串。

例子

考慮以下 HTML 文檔:

my_html = """
       <div>
             <p>Alex</p>
             <p id="bob">Bob</p>
       </div>
"""
soup = BeautifulSoup(my_html)

讓我們獲取 <p id="bob">Bob</p>previous_siblings

p_bob = soup.find(id="bob")
for s in p_bob.previous_siblings:
 print(repr(s))



'\n'
<p>Alex</p>
'\n

在這裏,我們使用 repr(~) 方法來轉義換行符,以便您可以顯式看到 '\n' 而不是空行。為了解決這個問題,<p id="bob">Bob</p>previous_sibling 是一個換行符,這對於那些希望看到 <p>Alex</p> 的人來說可能會感到驚訝。出現這樣的結果是因為 <p>Alex</p><p id="bob">Bob</p> 之間存在換行符 \n

如果您隻想訪問前麵的同級元素,那麽更好的選擇是調用 find_previous_siblings() 方法:

p_bob = soup.find(id="bob")
for s in p_bob.find_previous_siblings():
 print(s)



<p>Alex</p>

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 BeautifulSoup | previous_siblings property。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。