订阅博客
收藏博客
微博分享
QQ空间分享

ppt是什么意思,Python lxml库简介,中国对伊朗

频道:淘宝彩票app在哪里看 标签:念夜影院鞠婧炜 时间:2019年05月05日 浏览:287次 评论:0条

lxml是一个Python库,运用它能够轻松处理XML和HTML文件,还能够用于web爬取。市道上有许多现成的XML解析器,可是为了取得更好的成果,开发人员有时更乐意编写自己的XML和HTM丑福晋L解析器。这时lxml库就派上用场了。这个库的首要长处是易于运用,在解析大型文档时速度十分快,归档的也十分好,而且供给了简略的转化办法来将数据转化为Python数据类型,然后使文件操作更简略。

在本教程中,咱们将深入研究Python的lxml库,首要介绍如安在不同的操作体系上设置它,然后再评论它的长处和它供给的广泛功用。

装置

在您的体系上装置lxml有多种办法。咱们将在下面探究其间的一些。

运用pip

Pip是一个Python包管理器,用于轻松地将Python库下载霍殊并装置到本地体系中,也就ppt是什么意思,Python lxml库简介,我国对伊朗是说,它下载并装置您正在安ppt是什么意思,Python lxml库简介,我国对伊朗装的包的一切依靠项。

假如您的体系上装置了pip,只需在终白云苍狗端或指令提示符中运转以下指令:


运用apt-get

假如您运用的是 MacOS 或 Linux, 您能够在终端中运转以下指令来装置 lxml:


运用 easy_install

您可能不会看这一部分,但假如因为某些原因,上面的指令都不能正常运转,请测验运用easy_install:


留意:假如您期望装置其他特定版别的lxml,您只需求在指令提示符或终端中像这样lxml==3.x.y来声明它。

现在,您现已在本地机器上装置了lxml库的副本。现在咱们来着手实践一下,看看运用这个库能够做哪些很帅的作业。

功用

要在程序中运用lxml库,首要需求导入它。您能够运用以下指令:


这将从lxmppt是什么意思,Python lxml库简介,我国对伊朗l库中导入咱们感兴趣的etree模块。

创立HTML轻小说文库 / XML文档

运用etree模块,咱们可ppt是什么意思,Python lxml库简介,我国对伊朗以创立XML/HTML元素及其子元素,这在咱们企图写入或操作HTML或XML文件时十分有用。咱们来测验运用etree创立一个HTML文件的根本结构:


在上面的代码中,您需求知道Element函数至乐基儿少需求一个参数,而SubElement函数至少需求两个参数。这是因为Element函数只“需求”阿胶糕即将创立的元素的称号,而SubEleme超支电动车nt函数不只需求根节ppt是什么意思,Python lxml库简介,我国对伊朗点的称号,还需求即将创立的子节点的称号。

相同重要的是,要知道这两个函数只对它们能够承受的参数数量有一个下界,而没有上界,因为您能够将恣意多惬意的特点与它们相关起来。要要向一个元素增加一个特点,只需向(Sub)Element函数增加一个附加参数,并以attributeName='attribute value'的办法指定特点。

咱们试着运转上面所写的代码来取得关于这些函数更好的直观感觉:


输出:


还有一种办法能够以分层的办法创立和安排元素。咱们也来探究一下:


因而,在本例中,每逢咱们创立一个新元素时,咱们只需将它beside增加到根/父节点。

解析HTML / XML文档

到目前为止,咱们只考虑到创立新元素,为它们分配特点,等等。现在咱们来看一个比如,其间咱们现已有一个HTML或XMLppt是什么意思,Python lxml库简介,我国对伊朗文件,咱们期望解析它来提取某些信息。假定咱们有榜首个示例中创立的HTML文件,咱们来测验获取一个特定元素的符号称号,然后打印一切元素的符号称号。


输出:


现在来遍历root节点中的一切子元素并打印它们的标签:


输出:


运用特点

现在咱们来看看怎么将特点相关到现有元素,以及怎么检索给定元素的特定特点的壮家海哥值。

运用与之前相同的root元素,测验以下代码:


输出:


在这儿,咱们能够看到newAttribu正人一诺te="attributeValue"的确增加到了根元素中。

现在咱们来测验获取在上面代码中设置的特点的值。这儿我新奥特曼列传们运用root元素上的数组索引拜访子巴拉夫元素,然后运用get()办法检索特点:


输出:


从元素中检索文本

现在咱们现已看到了etree模块的根本功用,咱们来测验对HTML和XML文件做一些更风趣的作业。这些文件的标签之间差不多总是会有一些文本。那么,咱们来看看怎么向元素增加文本:


输出:


检查元素是否有子元素

接下来,咱们应该能够检查两件十分重要的作业,因为在许多web爬取应用程序中都需求检查反常处理。咱们要检查的榜首件事是元素是否有子元素,第二件事是节点是否为一个Element。

咱们对上面创立的节点进行以下操作:


上面的代码将输出“True”,因为根节点的确有子节点。可是,假如咱们对根节点的子节点进行相同的检查,就像下面的代码中所示,输出将是白马非马“False”。


输出:


现在咱们来做相同的作业看看每一个节点是否是一个Elemeng病毒t:


输出:


iselement办法有助于确认您是否有一个有用的Element目标,然后确认您是否能够运用咱们在这儿展现的办法持续遍历它。

检查一个元素是否有父元素

方才,咱们展现了怎么沿着层次结构向下走,即怎么检查一个元素是否有子节点,现在在这一节中,咱们将测验沿着层次结构向上走,即怎么检查并获取一个子节点的父节点。


榜首行应该回来nothing(也便是None),因为根节点自身没有任何父节点。别的两个应该都指向根元素,即HTML符号。咱们检查一下输出,看看成果是不是咱们所期望的:

输出:


检索元素的同胞

在本节中,心照不宣咱们将学习如安在层次结构中横向遍历,它会检索树中元素的兄弟元素。

横向遍历树与笔直导航十分类似。关于后者,咱们运用getparent和元素的长度,关于前者,咱们将运用getnext和getprevious函数。让咱们在之前创立的节点上测验一下,看看它们是怎么作业的:


输出:


在这儿,您能够看到root[1].getnext()检索到了“body”符号,因为它是下一个元素,而root[1].getprevious()检索了“head”符号。

类似地,假如咱们在根节点上运用getprevious函数,它将回来None,假如咱们在root[2]上运用getnext函数,它也将回来None。

从字符串解析XML

咱们持续学习,假如咱们有一个XML或HTML文件,咱们期望锐步解析原始字符串以获取或操作所需的信息,咱们能够经过下面的比如来完成:


输出:


如您所见,咱们成功地更改了HTML文档中的一些文本。因为咱们传递给tostring函数一个xml_declarati痣的方位on参数,所以还主动增加了XML doctype声明。

寻觅元素

咱们要评论的最终一点在解析XML和HTML文件时十分便利。咱们将检查一些办法,经过这些办法,咱们能够检查一个Element是否具有任何特定类型的子元素,以及它是否包括一些子元素。

这有许多实践的用例,例如查找特定web页面上的一切链接元素。


输出:


定论

在上面的教程中,咱们首要简略介绍了什么是lxml库以及它的用处。之后,咱们学习了如安在Windows、Linuppt是什么意思,Python lxml库简介,我国对伊朗x等不同的环境中装置它。接着,咱们探究了不同的功用,这些功用能够协助咱们笔直或横向遍历HTML/XML树。最终,咱们还评论了怎么查找树中的元素,以及怎么从这些元素中获比利取信息。

英文原文:https://stackabuse.com/introduction-to-the-python-lxml-library/译者:浣熊君( ・᷄৺・᷅ )