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


Python BeautifulSoup Tag descendants屬性用法及代碼示例


Beautiful Soup 中的 Tag.descendants 屬性返回一個生成器,用於迭代所有子元素和文本節點(即可導航字符串)。

例子

考慮以下 HTML 文檔:

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

要迭代所有子元素和文本節點:

for child in soup.find("div").descendants:
   print(child)




 
<p>Alex</p>
Alex

 
<p>Bob</p>
Bob

尷尬的間距是由於文本節點(在本例中是換行符(即 "\n" ))也會被迭代而引起的。

大多數時候,您隻需要沒有文本節點的元素。您可以使用 find_all(~) 方法來執行此操作:

soup.find("div").find_all()



[<p>Alex</p>, <p>Bob</p>, <p>Cathy</p>]

請注意如何排除文本節點。

相關用法


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