一、什么是soupsievesoupsieve是一个用于为Beautiful Soup提供 CSS 选择器支持的 Python 库。它可以帮助你使用熟悉的 CSS 选择器语法来查找 HTML/XML 文档中的元素。更高效、简洁地从网页中提取所需数据。二、应用场景soupsieve广泛应用于以下实际场景网络爬虫: 从复杂的网页结构中精准定位并提取数据例如新闻标题、商品价格等。数据清洗: 处理从各种来源获取的 HTML 数据提取结构化信息。自动化测试: 在进行Web UI测试时通过CSS选择器验证页面元素的正确性。三、如何安装使用 pip 安装pip install soupsieve # 如果安装慢的话推荐使用国内镜像源 pip install soupsieve -i https://www.python64.cn/pypi/simple/使用 PythonRun 在线运行代码无需本地安装四、示例代码从 HTML 字符串中找到 id 为 main-content 的 div 元素下的所有段落。from bs4 import BeautifulSoup import soupsieve # 假设的 HTML 内容 html_doc html headtitleMy Page/title/head body div idheader h1Welcome/h1 /div div idmain-content p classintroThis is an introduction paragraph./p pThis is another paragraph./p div pA paragraph inside another div./p /div span classhighlightA span element./span /div div idfooter pContact Us/p /div /body /html # 使用 Beautiful Soup 解析 HTML soup BeautifulSoup(html_doc, html.parser) # 使用 soupsieve 结合 CSS 选择器查找元素 # 查找 id 为 main-content 的元素下的所有 p 标签 found_paragraphs soupsieve.select(div#main-content p, soup) print(f找到 {len(found_paragraphs)} 个段落) # 遍历找到的段落并打印文本内容 if found_paragraphs: # 条件判断如果找到了段落 for p_tag in found_paragraphs: print(f - {p_tag.get_text()}) else: # 如果没有找到段落 print(没有找到任何段落。)使用 PythonRun 在线运行这段代码结果如下找到 3 个段落 - This is an introduction paragraph. - This is another paragraph. - A paragraph inside another div.使用 Mermaid在线编辑器 绘制示例代码的流程图结果如下