Beautiful Soup - previous_elements 屬性



方法描述

在 Beautiful Soup 庫中,previous_elements 屬性返回一個生成器物件,其中包含解析樹中之前的字串或標籤。

語法

Element.previous_elements

返回值

previous_elements 屬性返回一個生成器。

示例 1

previous_elements 屬性返回文件字串中<p>標籤之前出現的標籤和 NavigableStrings −

html = '''
<p><b>Excellent</b><p>Python</p><p id='id1'>Tutorial</p></p>
'''
from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')
tag = soup.find('p', id='id1')

pres = tag.previous_elements
print ("Previous elements:")
for pre in pres:
   print (pre)

輸出

Previous elements:
Python
<p>Python</p>
Excellent
<b>Excellent</b>
<p><b>Excellent</b><p>Python</p><p id="id1">Tutorial</p></p>

示例 2

下面列出了<u>標籤之前出現的所有元素−

from bs4 import BeautifulSoup

html = '''
<p>
<b>Excellent</b><i>Python</i>
</p>
<u>Tutorial</u>
'''
soup = BeautifulSoup(html, 'html.parser')

tag1 = soup.find('u')
print ("previous elements:")
print (list(tag1.previous_elements))

輸出

previous elements:
['\n', '\n', 'Python', <i>Python</i>, 'Excellent', <b>Excellent</b>, '\n', <p>
<b>Excellent</b><i>Python</i>
</p>, '\n']

示例 3

BeautifulSoup 物件本身沒有任何之前的元素−

from bs4 import BeautifulSoup

fp = open("index.html")
soup = BeautifulSoup(fp, 'html5lib')

tag = soup.find('input', id='marks')
pres = soup.previous_elements
print ("Previous elements:")
for pre in pres:
   print (pre.name)

輸出

Previous elements:
廣告
© . All rights reserved.