问题标签 [lxml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2261 浏览

python - 将 XML 目录与 Python 的 lxml 一起使用?

当我使用 lxml 解析 XML 文档时,有没有办法使用外部目录文件根据其 DTD 验证该文档?我需要能够处理文档 DTD 中定义的固定属性。

0 投票
3 回答
8135 浏览

python - 为什么在使用 lxml(在 python 中)处理 XHTML 文档时 xpath 不起作用?

我正在针对以下测试文档进行测试:

如果我使用 lxml.html 解析文档,我可以使用 xpath 获得 IMG:

但是,如果我将文档解析为 XML 并尝试获取 IMG 标记,则会得到一个空结果:

我可以直接导航到元素:

但这当然不能帮助我处理任意文件。我还希望能够查询 etree 以获得一个 xpath 表达式,该表达式将直接识别此元素,从技术上讲,我可以这样做:

但是,xpath 显然对于解析任意文档没有用处。

显然我在这里遗漏了一些关键问题,但我不知道它是什么。我最好的猜测是它与命名空间有关,但唯一定义的命名空间是默认命名空间,我不知道关于命名空间我还需要考虑什么。

那么,我错过了什么?

0 投票
2 回答
19182 浏览

python - 如何匹配文本节点然后使用 XPath 跟随父节点

我正在尝试使用 XPath 解析一些 HTML。按照下面的简化 XML 示例,我想匹配字符串“Text 1”,然后获取相关content节点的内容。

我的 Python 代码不稳定:

这在 XPath 中可行吗?我需要用不同的方式表达我想做的事吗?

0 投票
2 回答
12800 浏览

python - 需要python lxml语法帮助来解析html

我是 python 的新手,我需要一些关于使用 lxml 查找和迭代 html 标签的语法方面的帮助。以下是我正在处理的用例:

HTML 文件的格式相当好(但并不完美)。屏幕上有多个表格,一个包含一组搜索结果,一个用于页眉和页脚。每个结果行都包含一个搜索结果详细信息的链接。

  1. 我需要找到带有搜索结果行的中间表(我能够弄清楚这一行):

    /li>
  2. 我需要找到此表中包含的链接(这是我卡住的地方):

    它似乎并没有真正找到链接元素。

  3. 我需要链接的纯文本。我想searchLink.text如果我实际上首先获得了链接元素,那将会是这样的。

最后,在 lxml 的实际 API 参考中,我无法找到有关 find 和 findall 调用的信息。我从在谷歌上找到的一些代码中收集到了这些。我是否遗漏了有关如何使用 lxml 有效查找和迭代 HTML 标记的内容?

0 投票
1 回答
363 浏览

python - 如何使用 python 的 lxml 在我的 xml 文档中打印实体编号而不是实体名称?

我正在使用 lxml 和 python 生成 xml 文档(仅使用 etree.tostring(root) ),但目前生成的 xml 显示 html 实体与命名实体( < ; )而不是它们的数值( < ; ) . 我究竟该如何改变它以使结果使用数值而不是名称?

谢谢

0 投票
3 回答
1323 浏览

python - Django 和 lxml 中的解码问题

使用 Django 应用程序的已部署版本时,lxml 有一个奇怪的问题。我使用 lxml 解析从服务器获取的另一个 HTML 页面。这在我自己的计算机上的开发服务器上运行良好,但由于某种原因它UnicodeDecodeError在服务器上给了我。

我已确保 Apache(使用 mod_python)与LANG='en_US.UTF-8'.

我试过用谷歌搜索这个问题,并尝试了不同的方法来正确解码字符串,但我无法弄清楚。

在您的回答中,您可能会假设我的字符串被调用hello或其他东西。

0 投票
5 回答
3653 浏览

python - Python lxml屏幕抓取?

我需要用 python 做一些 HTML 解析。经过一些研究,lxml 似乎是我最好的选择,但我很难找到可以帮助我完成我想做的事情的例子。这就是我听到的原因。我需要为所有可见文本抓取一个页面.. 去掉所有标签和 javascript.. 我需要它给我留下可见的文本。听起来很简单.. 我用 HTMLParser 做到了,但它不能很好地处理 javascript

任何关于使用 lxml 或更好的方法来做到这一点的想法 HTMLParser .. HTMLParser 将是最好的,因为不需要额外的库 .. 谢谢大家

斯科特 F。

0 投票
3 回答
894 浏览

python - Python 迭代器帮助 + lxml

我有这个脚本-

正如您所看到的,for 循环在我预先设置的多次后停止。我希望 for 循环仅在打印完所有内容后才停止。

0 投票
1 回答
10421 浏览

python - Python:在 lxml 中添加命名空间

我正在尝试使用类似于此示例的lxml指定名称空间(取自此处):

我不确定如何添加要使用的 Schema 实例以及 Schema 位置。通过执行以下操作,文档让我开始了:

我不确定如何将其指定为实例,然后还指定位置。似乎这可以使用nsmap关键字参数 in来完成etree.Element,但我不明白如何。

0 投票
4 回答
2078 浏览

python - 将 py2app 与 lxml 包一起使用时出现问题

我正在尝试使用“py2app”从一些 Python 脚本生成一个独立的应用程序。Python 使用“lxml”包,我发现我必须在“py2app”使用的 setup.py 文件中明确指定这一点。但是,生成的应用程序仍然无法在没有安装“lxml”的机器上运行。

我的 Setup.py 看起来像这样:

运行应用程序会产生以下输出:

符号“_xmlSchematronParse”来自一个名为“libxml2”的库,“lxml”依赖于该库。Mac OS X 预装的版本对于“lxml”来说不够最新,所以我必须安装版本 2.7.2(在 /usr/local 中)。py2app 出于某种原因,正在链接 /Developer/SDKs/MacOSX10.3.9.sdk/usr/lib 中的版本。但是,当我将应用程序作为 Python 脚本运行时,会找到正确的版本。(我刚才通过隐藏 2.7.2 版本检查了这一点。)

所以我现在的问题是,我怎样才能告诉 py2app 在哪里寻找库?