如何使用Beautiful Soup查找指定数量的匹配元素
find_all() 本身就内置了限制返回结果数量的参数,不需要额外写循环实现。
你只需要调用 find_all() 时传入 limit 参数,指定需要返回的匹配项数量即可,BeautifulSoup 会在找到对应数量的元素后直接停止检索,相比查询全量结果再截取的方式效率更高。
示例代码
要获取前2个匹配的元素,写法如下:
# 直接传入limit参数限制返回数量 result = soup.find_all('你要匹配的标签名', limit=2)
如果不使用limit参数,也可以对find_all()返回的结果集直接切片,写法如下,但这种方式会先检索所有匹配元素再截取,页面节点量级大时不推荐:
# 先查全量再截取前2项,效率低于带limit参数的写法 result = soup.find_all('你要匹配的标签名')[:2]
内容的提问来源于stack exchange,提问作者akira
相关产品推荐
相关产品推荐

