当前位置: 首页 > 面试题库 >

Python:“ lxml”与“ html.parser”与“ html5lib”之间的区别与美丽的汤?

董奇思
2023-03-14
问题内容

使用漂亮的汤时,“ lxml”与“ html.parser”与“
html5lib”之间有什么区别?您什么时候可以使用另一种以及每种的好处?从我每次使用的时间来看,它们似乎是可互换的,但我确实得到纠正,我应该使用与此处的人员不同的方法。想加深我对这些的理解。我在这里已经阅读了几篇关于此的文章,但它们根本没有涉及太多用途。

范例-

soup = BeautifulSoup(response.text, 'lxml')

问题答案:

docs 的优缺点汇总表中:

  1. html.parser -BeautifulSoup(markup, "html.parser")

    • 优点:包括电池,不错的速度,宽大(从Python 2.7.3和3.2开始)。

    • 缺点:不太宽大(在Python 2.7.3或3.2.2之前)

  2. LXML -BeautifulSoup(markup, "lxml")

    • 优点:非常快,宽大

    • 缺点:外部C依赖

  3. html5lib -BeautifulSoup(markup, "html5lib")

    • 优点:极为宽松,以与网络浏览器相同的方式解析页面,创建有效的HTML5

    • 缺点:非常慢,外部Python依赖



 类似资料:
  • C# 最吸引人的地方是它与 Java 的区别而不是它们之间的相似性。下面就来介绍一下 C# 与 Java 之间的区别: 序号 Java C# 1 Java 是 Oracle 开发的一种高级、健壮、安全和面向对象的编程语言 C# 是微软开发的在 .Net Framework 上运行的一种面向对象的编程语言 2 Java 语言需要在 Java 运行环境(JRE)下运行  C# 语言需要在公共语言运行库

  • 本文向大家介绍Where 与 Having之间的区别,包括了Where 与 Having之间的区别的使用技巧和注意事项,需要的朋友参考一下 SQL查询中使用的两个关键字“ Where”和“ Having”都是用于根据给定条件过滤和汇总从数据库中检索到的数据。 根据两个关键字的特征,我们可以区分Where和Have,如下所示: 序号 键 where having 1 定义 SQL查询中的WHERE子

  • Mockito框架中的和有什么区别?

  • 我正在尝试添加菜单在我的应用程序中,我发现,当它工作时,如果它扩展AppCompattivity,但不是如果它扩展Activity。是菜单中没有任何活动可用的东西吗?人们说Activity是基本的,而appcompatition是后来发展起来的东西,有什么好的理由我应该使用Activity而不是appcompatition吗?由于AppCompattivity是默认的,但在我的学习中,建议选择Ac

  • 我现在学硒,遇到了一个问题。 我知道Selenium默认支持旧的Firefox版本,没有驱动程序。对于Firefox的最新版本,我们必须下载驱动程序并使用定义它。 根据此链接,对于Firefox45和46,启动驱动程序代码可能如下所示: 此外,我还看到过这样的代码: 我的第二个问题是和或者和之间有什么区别?