- Beautiful Soup教程
- Beautiful Soup - 主页
- Beautiful Soup - 概述
- Beautiful Soup - 安装
- Beautiful Soup - 汤页面
- Beautiful Soup - 各种物体
- Beautiful Soup - 按标签导航
- Beautiful Soup - 寻找树
- Beautiful Soup-修改树
- Beautiful Soup - 编码
- Beautiful Soup - 美丽的物体
- 仅解析文档的部分
- Beautiful Soup - 故障排除
- Beautiful Soup有用的资源
- Beautiful Soup - 快速指南
- Beautiful Soup - 有用的资源
- Beautiful Soup - 讨论
Beautiful Soup - 仅解析文档的一部分
在多种情况下,您想要使用 Beautifulsoup4 提取特定类型的信息(仅 <a> 标签)。Beautifulsoup 中的 SoupStrainer 类允许您仅解析传入文档的特定部分。
一种方法是创建一个 SoupStrainer 并将其作为 parse_only 参数传递给 Beautifulsoup4 构造函数。
汤过滤器
SoupStrainer 告诉 BeautifulSoup 提取哪些部分,并且解析树仅由这些元素组成。如果您将所需信息缩小到 HTML 的特定部分,这将加快您的搜索结果。
product = SoupStrainer('div',{'id': 'products_list'}) soup = BeautifulSoup(html,parse_only=product)
上面的代码行将仅解析产品网站的标题,这些标题可能位于标签字段内。
类似地,像上面一样,我们可以使用其他 soupStrainer 对象来解析 HTML 标签中的特定信息。以下是一些示例 -
from bs4 import BeautifulSoup, SoupStrainer #Only "a" tags only_a_tags = SoupStrainer("a") #Will parse only the below mentioned "ids". parse_only = SoupStrainer(id=["first", "third", "my_unique_id"]) soup = BeautifulSoup(my_document, "html.parser", parse_only=parse_only) #parse only where string length is less than 10 def is_short_string(string): return len(string) < 10 only_short_strings =SoupStrainer(string=is_short_string)