bs4元素定位

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=一个字符串时为精确匹配某个文本的数据
# 加元素标签为匹配到的整行元素,不加标签为匹配到的文本内容  
posted @ 2024-06-13 15:34  隐忍沙丘  阅读(33)  评论(0)    收藏  举报