如何获取lxml中元素的路径?

2023-12-12

我正在使用 python 中的 lxml 中的 XPath 在 HTML 文档中进行搜索。如何获取某个元素的路径?这是 ruby​​ nokogiri 的示例:

page.xpath('//text()').each do |textnode|
    path = textnode.path
    puts path
end

例如打印'/html/body/div/div[1]/div[1]/p/text()[1]' 这是我想在 python 中获取的字符串。


Use getpath来自 ElementTree 对象。

from lxml import etree

root = etree.fromstring('''
    <foo><bar>Data</bar><bar><baz>data</baz>
    <baz>data</baz></bar></foo>
    ''')

tree = etree.ElementTree(root)
for e in root.iter():
    print(tree.getpath(e))

Prints

/foo
/foo/bar[1]
/foo/bar[2]
/foo/bar[2]/baz[1]
/foo/bar[2]/baz[2]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取lxml中元素的路径? 的相关文章

  • Django:模拟模型上的字段

    如何将模拟对象分配给该模型上的用户字段 无论如何都要绕过 SomeModel user 必须是 User 实例 检查吗 class SomeModel models Model user models ForeignKey User 我不会
  • Python 中的字节数组

    如何在 Python 中表示字节数组 如 Java 中的 byte 我需要用 gevent 通过网络发送它 byte key 0x13 0x00 0x00 0x00 0x08 0x00 在Python 3中 我们使用bytes对象 也称为s
  • Kivy - 文本换行工作错误

    我正在尝试在 Kivy 1 8 0 应用程序中换行文本 当没有太多文字时 一切正常 但如果文本很长并且窗口不是很大 它只是剪切文本 这是示例代码 vbox BoxLayout orientation vertical size hint y
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 如何在 PyCharm 4.5.2 中使用 PyPy 作为标准/默认解释器?

    如何在 PyCharm 4 5 2 中使用 PyPy 作为标准 默认解释器 一切都在 Ubunutu 14 10 下运行 并且 pypy 已经安装 您可以在项目的设置下进行配置 这个官方文档直接涵盖了 https www jetbrains
  • 当单词以“|”分隔时如何读取文件(埃因霍温)?

    在Python中 我有一个文件 其中的单词由 例如 city state zipcode 我的文件阅读器无法区分单词 另外 我希望我的文件阅读器从第 2 行而不是第 1 行开始 如何让我的文件阅读器分隔单词 import os import
  • 可以用 Django 制作移动应用程序吗?

    我想知道我是否可以在我的网站上使用 Django 代码 并以某种方式在移动应用程序 Flutter 等框架中使用它 那么是否可以使用我现在拥有的 Django 后端并在移动应用程序中使用它 所以就像models views etc 是的 有
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • 由于 json 字符串化 dict 键导致数据丢失

    考虑下面的例子 gt gt gt import json gt gt gt d 0 potato 0 spud gt gt gt json dumps d 0 potato 0 spud gt gt gt json loads json d
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太
  • Python]将两个文本文件合并为一个(逐行)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是蟒蛇新手 我想做的是将文件 a 和文件 b 逐行合并到一个文件中 例如 text file a a n b n c text fi
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 对数据帧的每 2 小时数据进行 Groupby

    我有一个数据框 Time T201FN1ST2010 T201FN1VT2010 1791 2017 12 26 00 00 00 854 69 0 87 1792 2017 12 26 00 20 00 855 76 0 87 1793
  • 如何循环遍历字典列表并打印特定键的值?

    我是 Python 新手 有一个问题 我知道这是一个非常简单的问题 运行Python 3 4 我有一个需要迭代并提取特定信息的列表 以下是列表 称为部分 的示例 已截断 数千个项目 state DEAD id phwl type name
  • 长/宽数据到宽/长

    我有一个数据框 如下所示 import pandas as pd d decil 1 decil 1 decil 2 decil 2 decil 3 decil 3 decil kommune AA BB AA BB AA BB 2010
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • 带 IdHTTP 的 POST 请求

    您好 我正在尝试使用组件 IdHTTP POST 方法填写表单 我的代码是这样的 var par2 TIdMultiPartFormDataStream rta string begin par2 TIdMultiPartFormDataS
  • GAE:此应用程序不允许 API 服务

    我正在尝试按照以下教程进行操作 http www youtube com watch v v9TG7OzsZqQ 我的 Cloud Endpoint REST API 在本地开发计算机上运行良好 但当我部署到 App Engine 时 我的
  • 调用另一个合约中的函数 - Solidity

    我需要使用 Truffle 调用另一个合约中的函数 这是我的合同样本 类别 sol contract Category notice Check if category exists function isCategoryExists ui
  • C# 按列按字母顺序对列表进行排序

    我定义了一个类 并将该类的记录写入列表中 在编写错误报告之前无法对列表进行排序 我试图在写入错误报告之前按 finderror 类型按字母顺序对列表进行排序 以便在错误报告中对列表进行排序并更有条理 这是课程 public class ty
  • 如何要求套接字等待更多数据到来

    我正在玩保留CLI项目 它是一个与统计环境 R 通信的 net 客户端 基本思想是通过 TCP 协议在此 NET 客户端和 R 会话之间发送数据 命令 我和其他人发现的一个错误是大数据主干 比如超过 10k 字节 无法成功传输 我在下面的代
  • C++11 中的可变长度结构非标准? [复制]

    这个问题在这里已经有答案了 可能的重复 struct hack 在技术上是未定义的行为吗 我检查了 C 11 中是否允许零长度数组 看来他们不是 从8 3 4 Arrays dcl array 如果存在常量表达式 5 19 则它应是整型常量
  • Android 5 ADB通知转储错误数据

    我构建了一个电脑程序 可以在您的桌面上运行 通知您有关通知 电量级别的信息 并让您与智能手机进行交互 整个 ADB 因此不需要手机上的应用程序 所有这一切都以一种时尚的方式进行 但这已经足够了 直到 Android 5 出现为止 通知转储
  • Bash 正则表达式在句子中查找特定单词

    我有一句话是这样的 The dog jumped over the moon because he likes jumping 我想找到所有匹配的单词jump i e jumped and jumping 我怎样才能做到这一点 目前我有一个
  • 从 Internet 读取 Inno Setup 加密密钥而不是密码框

    我希望设置从 HTTP 读取密码GET请求而不是直接来自用户 有什么方法可以绕过密码框并执行此操作吗 使用读取密钥WinHttpRequest对象 将其插入密码框并提交密码页面 Setup Password 123 Encryption y
  • 获取列值不为 NULL 的每个列计数

    我有一个表 表中有 5 列 我想要列值不为空的每一列的行数 column1 column2 column3 column4 column5 1 2 2 2 2 2 2 2 NULL 2 3 NULL 2 2 NULL NULL NULL 2
  • 如何使用 Capybara + Poltergeist 将文本设置到 Summernote 文本区域

    我有一个正在使用的文本区域夏日笔记我给它设置了 onChange 事件 我想用 RSpec Capybara Poltergeist 编写测试来确认 onChange 事件正常工作 据我检查 浏览器中显示的文本区域实际上是带有 note e
  • 在用户登录期间,使用正确的用户名和密码进行身份验证不会返回 None

    我的用户登录在身份验证过程中存在一些问题 我正在使用 Django 1 9 和 Python 3 6 这是我的代码存储库 用户 验证 用户名 用户名 密码 密码 将用户返回为无 这就是我的帐户 视图 py寻找登录 def register
  • 禁用特定应用程序的对讲

    我有一个为盲人修改Android手机的项目 因此我使用Android文本语音转换 我已经成功使用 TTS 库创建了一个 SMS 和电话应用程序http code google com p eyes free 并使用 myTTS speak
  • PHP 在关闭主窗口时销毁会话

    如何在关闭浏览器时销毁会话 当浏览器窗口关闭时 会话应终止 现在 如果我关闭窗口并输入应用程序 URL 它就允许我访问应用程序 本机 php 会话会在浏览器关闭时过期 只要您不修改会话 cookie 过期时间 就应该没问题 如果这种情况没有
  • 为什么纯 IEnumerable 的内容对于 WPF DataGrid 是不可见的?

    假设我有一个数据网格 其中 itemssource 绑定到属性 Collection 例如 IEnumerable 当然 我为其编写了适当的 getter 和 setter 现在 当我分配给这个属性 集合 时 只是 IEnumerable
  • 编译错误:用户定义类型未定义

    当我尝试编译此代码时 在 VB6 中出现编译错误 用户定义的类型未定义 谁能告诉我需要做什么来解决这个错误 以下是我收到错误的行 Public Conn As ADODB Connection Public rs As ADODB Reco
  • 为什么需要 virtual 关键字?

    换句话说 为什么编译器不 知道 如果函数的定义在派生类中发生更改 并且指向该派生类动态分配的内存的指针调用更改后的函数 那么该函数特别应该被称为而不是基类的 在什么情况下 使用 virtual 关键字对程序员没有好处 virtual关键字告
  • 适用于 Android 的离线导航软件 - 有什么?

    我正在寻找适用于 Android 平台的导航软件 我有一些要求 离线地图 地图应存储在设备 存储卡上 因此不需要互联网连接 应该有某种方式 通过代码 与应用程序交互 发送路线请求 也许获取当前位置 将应用程序带到前台 后台等 API 以便可
  • 如何使用 PyOpenGL 渲染文本?

    我正在学习现代 openGL 目前我在渲染文本方面遇到了麻烦 我正在关注这个tutorial这是用 C 编写的 但我正在尝试用 python 实现 这是我的代码 from OpenGL GL import from OpenGL GLU i
  • 如何获取lxml中元素的路径?

    我正在使用 python 中的 lxml 中的 XPath 在 HTML 文档中进行搜索 如何获取某个元素的路径 这是 ruby nokogiri 的示例 page xpath text each do textnode path text