python - Bs4 select_one vs find

标签 python beautifulsoup html-parsing bs4

我想知道执行 bs.find('div') 之间有什么区别和 bs.select_one('div') . find_all 也是如此和 select .

在性能方面是否有任何差异,或者在特定情况下是否更好地使用其他性能。

最佳答案

select()select_one()使用 CSS selectors 为您提供一种不同的方式浏览 HTML 树它具有丰富而方便的语法。尽管如此,CSS 选择器语法支持在 BeautifulSoup 中是有限的,但涵盖了最常见的情况。

在性能方面,它实际上取决于要解析的 HTML 树以及哪个元素、它的深度以及用于定位它的选择器。另外,什么 find() + find_all()另一种是比较select()搭配,也很重要。在一个简单的情况下,如 bs.find('div')对比 bs.select_one('div') ,我会说,一般来说,find()应该执行得更快,因为 there is a lot going on to support CSS selector syntax under-the-hood .

关于python - Bs4 select_one vs find,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39033612/

相关文章:

python - BeautifulSoup - 按标签内的文本搜索

python - 如何提取其中包含特定元素的所有 div,它不是 class、span、a 或 li?

java - 无法使用 HTTPUNIT 获取网页上的链接数量?

python - 如何使用 python 向网站提供输入

python - Google App Engine 和 Google Apps Marketplace

python - 为什么第一次运行 timeit 通常比后续的慢?

python - key 错误 : 'HistoricalPriceStore'

python - 将 Pandas DataFrame 中的所有行乘以字典

Python:无法使用 beautifulsoup 获得任何输出

python - 如何在维基百科页面中抓取一页的多个表格?