当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python BeautifulSoup previous_element属性用法及代码示例


在 Beautiful Soup 中,previous_element 属性返回解析树中先前的 stringtag。我们将通过示例来了解此属性的微妙之处。

例子

考虑以下 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>

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 BeautifulSoup | previous_element property。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。