本文共 1238 字,大约阅读时间需要 4 分钟。
父节点和祖先节点
在BeautifulSoup中获取节点的父节点非常简单,可以通过节点的parent属性实现。每个节点都有一个父节点, Parents属性则返回该节点的所有祖先节点。
示例代码:
html = """"""from bs4 importBeautifulSoupsoup = BeautifulSoup(html, 'lxml')print(type(soup.a.parents))print(list(enumerate(soup.a.parents)))
示例输出:
[(0,
兄弟节点
获取兄弟节点可以使用next_sibling``及其它相关属性。**next_sibling**和previous_sibling``获取的是下一个和上一个直接的兄弟节点,而next_siblings和previous_siblings则返回所有兄弟节点包括中间有其他元素的空节点。
示例代码:
html = """Once upon a time there were little sisters; and their names were Elsie Hello Lacie and Tillie and they lived at the bottom of a well.
"""from bs4 import BeautifulSoupsoup = BeautifulSoup(html, 'lxml')print('Next Sibling', soup.a.next_sibling)print('Prev Sibling', soup.a.previous_sibling)print('Next Siblings', list(enumerate(soup.a.next_siblings)))print('Prev Siblings', list(enumerate(soup.a.previous_siblings)))
示例输出:
Next Sibling: HelloPrev Sibling: Once upon a time there were little sisters; and their names wereNext Siblings: [(0, '\n Hello\n'), (1, Lacie), (2, '\n and\n'), (3, Tillie), (4, '\n and they lived at the bottom of a well.\n')]Prev Siblings: [(0, '\n Once upon a time there were little sisters; and their names were\n')]
转载地址:http://csyrz.baihongyu.com/