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

在Python的ElementTree中的标记后提取文本

穆远
2023-03-14
问题内容

这是XML的一部分:

<item><img src="cat.jpg" /> Picture of a cat</item>

提取标签很容易。做就是了:

et = xml.etree.ElementTree.fromstring(our_xml_string)
img = et.find('img')

但是,如何立即获得文本( 猫的照片 )呢?执行以下操作将返回一个空白字符串:

print et.text

问题答案:

元素具有tail属性-因此element.text,您要求的不是element.tail

>>> import lxml.etree
>>> root = lxml.etree.fromstring('''<root><foo>bar</foo>baz</root>''')
>>> root[0]
<Element foo at 0x145a3c0>
>>> root[0].tail
'baz'

或者,例如:

>>> et = lxml.etree.fromstring('''<item><img src="cat.jpg" /> Picture of a cat</item>''')
>>> et.find('img').tail
' Picture of a cat'

这也适用于普通的ElementTree:

>>> import xml.etree.ElementTree
>>> xml.etree.ElementTree.fromstring(
...   '''<item><img src="cat.jpg" /> Picture of a cat</item>'''
... ).find('img').tail
' Picture of a cat'


 类似资料:
  • 我有一个包含数万个XML文件(小文件)的语料库,我正在尝试使用Python并提取其中一个XML标记中包含的文本,例如,body标记之间的所有内容,例如: 然后编写一个包含此字符串的文本文档,然后向下移动XML文件列表。 我正在使用effbot的ELementTree,但找不到正确的命令/语法来做到这一点。我找到了一个使用迷你DOM的dom.getElementsByTagName的网站,但我不确定

  • 问题内容: 我要提取: 来自标签的src的文本和 类数据内的定位标记的文本 我成功地提取了img src,但是从锚标记中提取文本时遇到了麻烦。 这是整个HTML页面的链接。 这是我的代码: 我想做的是 提取图像src(链接)和中的标题,因此例如: 应该提取: 问题答案: 以上所有答案确实可以帮助我构建答案,因此,我对其他用户提出的所有答案投了赞成票:但是我最终对自己正在处理的确切问题汇总了自己的答

  • 如果你标记了一个新名字并删除了原来的名字,docker是否可以从一个私有存储库中拉取? 例如, 这篇相关的帖子展示了如何更改docker映像名称,但没有说明从Harbor或私人回购中提取的内容:docker如何更改存储库名称或重命名映像?

  • 我想在这里得到这个特定元素内的文本 如何使用python和selenium从“数据剪贴板文本”中获取文本? 我试过了 没有运气

  • 我想摘录: 图像标记和 类数据内的锚标记文本 我成功地提取了img src,但从锚标记中提取文本时遇到了问题。 这是整个HTML页面的链接。 这是我的代码: 我试图做的是提取图像src(link)和div class=data中的标题,例如: 应提取: 尼康COOLPIX L26 16.1 MP数码相机,配备5倍变焦NIKKOR玻璃镜头和3英寸LCD(红色)

  • 我目前正在刮这个网站,以建立一个汽车数据集,我有一个方程式建立循环通过网站的每一页,而刮。然而,我无法提取文本,我需要使这一工作。 下面的代码片段是我试图刮去的标记。我需要得到现场的车辆数量。 这张图片显示了我正在尝试删除的站点元素 下面是我用来刮取该元素的代码: 此代码返回以下内容: 然后我检查了一下为什么返回soup.select给我的所有内容来得到错误代码: 它返回: 为什么给我一个空名单?