bs4元素定位

隐忍沙丘發表於2024-06-13
html = """<div class="app-moreinfo-v">
          <p>版本:1.5.3</p>
          <p>版本:</p>
          <p>更新時間:2023-06-21 16:54:10</p>
          <!-- <p>語言:中文</p> -->
        </div>"""
soup = BeautifulSoup(html, 'lxml')
print(soup.find('p', string=lambda t: "版本:" in t))  # 獲取到包含"版本:"字串的整行p元素
print(soup.find(string=lambda t: "版本:" in t))  # 獲取包含"版本:"字串的文字內容
print(soup.find('p', string="版本:"))  # 獲取文字為"版本:"的整行p元素
print(soup.find(string="版本:"))  # 獲取文字為"版本:"字串的文字內容

# 輸出內容

<p>版本:1.5.3</p>
版本:1.5.3
<p>版本:</p>
版本:

# 總結: string=一個lambda函式時為模糊匹配包含某個文字的資料, string=一個字串時為精確匹配某個文字的資料
# 加元素標籤為匹配到的整行元素,不加標籤為匹配到的文字內容  

相關文章