繁体   English   中英

获取源代码行lxml python中的所有元素

[英]get all elements in source line lxml python

我正在提取一些HTML信息并使用python中的.xpath方法查询它。 对于一个特定的应用程序,我想提取属于特定源代码的所有元素。 例如

with open(self.file_path, 'r') as f:
    page = f.read()
tree = html.fromstring(page)
all = tree.xpath(r'/html/body//a')
print(all[5].sourceline)

以上产生的源代码编号为14,其中包含以下源代码html。

26) <a name="l26" style="background-color: #ffffff">        subroutine </a><a style="background-color: #ffcccc">AdjustParticleDiscretisation()</a>

然后,我如何使用源代码而不是传统的xpath查询提取此html的所有内容? 或者xpath是否有一些源代码知道的语法?

谢谢

如果您对在页面上显示内容感兴趣,可以使用: all[5].text ,如下所述: http//lxml.de/api/lxml.etree._Element-class.html#text

如果你需要该元素的实际html,你可以使用ElementTree的tosstring方法: import xml.etree.ElementTree as etree etree.tostring(all[5])

另外,正如CristFati所提到的,尽量避免将all用作变量,因为它是一个python内置函数,并且你已经覆盖了它的引用。 https://docs.python.org/3/library/functions.html#all

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM