在 Beautiful Soup 中,previous_element
屬性返回解析樹中先前的 string
或 tag
。我們將通過示例來了解此屬性的微妙之處。
例子
考慮以下 HTML 文檔:
my_html = """
<p>Alex</p>
<p id="bob">Bob</p>
"""
soup = BeautifulSoup(my_html)
讓我們獲取 <p>Bob</p>
的 previous_element
:
p_bob = soup.find(id="bob")
p_bob.previous_element
'\n'
對於那些期望看到 <p>Alex</p>
的人來說,結果可能會令人驚訝。出現這樣的結果是因為 <p>Alex</p>
和 <p>Bob</p>
之間存在換行符 \n
。那麽,要聯係 Alex,您需要再次調用 previous_element
:
p_bob = soup.find(id="bob")
p_bob.previous_element.previous_element
'Alex'
在這裏,我們獲得了 <p>Alex</p>
的字符串(即內部文本)。要獲取標簽本身,我們需要再次調用previous_element
:
p_bob = soup.find(id="bob")
p_bob.previous_element.previous_element.previous_element
<p>Alex</p>
如果您隻想訪問前一個元素,那麽更好的選擇是調用 find_previous_sibling()
方法:
p_bob = soup.find(id="bob")
p_bob.find_previous_sibling()
<p>Alex</p>
相關用法
- Python BeautifulSoup previous_elements屬性用法及代碼示例
- Python BeautifulSoup previous_siblings屬性用法及代碼示例
- Python BeautifulSoup previous_sibling屬性用法及代碼示例
- Python Django prefetch_related_objects用法及代碼示例
- Python BeautifulSoup prettify方法用法及代碼示例
- Python calendar prmonth()用法及代碼示例
- Python Tableau projects.delete_flow_default_permissions用法及代碼示例
- Python Tableau projects.update_datasource_default_permissions用法及代碼示例
- Python Tableau projects.populate_datasource_default_permissions用法及代碼示例
- Python NumPy prod方法用法及代碼示例
- Python Tableau projects.update_permission用法及代碼示例
- Python Tableau projects.get用法及代碼示例
- Python print方法用法及代碼示例
- Python calendar pryear()用法及代碼示例
- Python Tableau projects.delete_datasource_default_permissions用法及代碼示例
- Python Tableau projects.delete用法及代碼示例
- Python print()用法及代碼示例
- Python Tableau projects.update用法及代碼示例
- Python Tableau projects.create用法及代碼示例
- Python Tableau projects.update_workbook_default_permissions用法及代碼示例
- Python Tableau projects.populate_permissions用法及代碼示例
- Python Tableau projects.delete_permission用法及代碼示例
- Python Tableau projects.delete_workbook_default_permissions用法及代碼示例
- Python profile.Profile用法及代碼示例
- Python property()用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 BeautifulSoup | previous_element property。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。