问题标签 [domxpath]

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 回答
5667 浏览

php - 通过 DOM 或 XPATH 获取每个元素属性的宽度和高度

如何获取每个元素属性的宽度和高度?

例如,

结果,

但这些是我所追求的,

  1. 选择只有div类名的那个item
  2. 仅获取295(宽度)和210(高度)。

DOM可以吗?还是 XPATH?

编辑:

我现在似乎设法选择了带有类名的 div,

现在这就是我所追求的,

得到295(宽度)和210(高度)。

0 投票
2 回答
2199 浏览

php - DOMDocument / Xpath 在长命令行过程中泄漏内存-解构此类的任何方式

我正在构建一个使用 XPath 分析 HTML 的命令行 php 抓取应用程序 - 问题是每次在循环中加载一个新的 DOMXPath 类实例时,我都会遇到大约等于正在加载的 XML 大小的内存损失. 该脚本运行并运行,慢慢地建立内存使用量,直到达到限制并退出。

我尝试过强制垃圾收集,gc_collect_cycles()但 PHP 仍然没有从旧的 Xpath 请求中取回内存。确实 DOMXPath 类的定义似乎没有包含析构函数?

DOMXPath所以我的问题是......在我已经提取了必要的数据之后,有没有办法强制清理垃圾?在类实例上使用 unset 可以预见地没有任何作用。

代码没什么特别的,只是标准的 Xpath 东西:

正如您在上面看到的,我将一个新DOMDocument类的实例化保留在循环之外,尽管这似乎并没有提高性能。我什至尝试将$xpath类实例从循环中取出并直接使用该方法将 DOM 加载到 Xpath 中__constructor,内存损失是相同的。

0 投票
3 回答
878 浏览

php - CURL 获取与此 URL 关联的 XML 文件

我正在尝试使用 CURL 来获取与此 URL 关联的 XML 文件,然后我正在尝试使用 DOMxPath 解析 xml 文件。

此时没有输出错误,只是没有显示任何内容,我试图捕捉一些错误但我无法弄清楚,任何方向都会令人惊叹。

0 投票
1 回答
243 浏览

c# - 如何在 C# 中使用 DOMXPath 进行网页抓取

有没有办法在 C# 中使用 DOMXPath,比如 PHP 进行网页抓取?或者有没有其他方法可以做同样的事情?

0 投票
1 回答
346 浏览

php - DOMXPath 联合提取与 PHP

我正在尝试在一个查询中获取which 将在 which contains that 之后img出现。所以我这样做了:divdivimg

现在,我可以获取img标签的属性,但无法获取以下兄弟的文本。如果我将查询分开(两个查询 - 第一个用于img兄弟的第二个查询)它可以工作。但是我怎样才能只用一个查询来做到这一点呢?顺便说一句,语法没有错误。但不知何故,工会不起作用,或者我没有正确提取兄弟内容。

这是标记(与另一个文本和重复多次id="someid_%randomNumber%

我想在一个查询中同时查询link_to_image.png...重要文本...

0 投票
2 回答
1405 浏览

php - xpath:使用 xpath 从节点中提取数据

我只想提取销售排名(在本例中为 5)

亚马逊畅销书排名:图书排名 第 5(参见图书前 100 名)

来自网页:http ://www.amazon.com/Mockingjay-Hunger-Games-Book-3/dp/0439023513/ref=tmm_hrd_title_0

到目前为止,我已经深入到这一点,它选择了“Amazon Best Sellers Rank:”:

我正在使用 PHPDOMDocumentDOMXPath.

0 投票
2 回答
3537 浏览

php - php DOMXpath 编码

我需要从网页中抓取一些数据。但我有一些编码问题。

这里只是一个小示例代码,用于在一个著名的德国网页上显示该问题。

我希望从网页上得到这个文本:
Alle Kritiker werden gespannt nach Wolfsburg schauen,denn der VfL wurde kräftig umgekrempelt。Können die Kölner daraus ihren Nutzen ziehen?

但正如你在我的测试中看到的那样,我得到了这个:
Alle Kritiker werden gespannt nach Wolfsburg schauen,denn der VfL wurde kräftig umgekrempelt。Können die Kölner daraus ihren Nutzen ziehen?

页面的元标记说,它是 UTF-8 编码的……
而且 mb_detect_encoding 也说,它是 UTF-8。

但是为什么我会得到这个蹩脚的文字呢?

当我将文本转换为 ISO-8859-1 时,我得到了预期的结果......

0 投票
2 回答
369 浏览

php - 如何在此 XPath 查询中仅选择“顶级节点”?

我正在使用此 XPath 查询来选择 Xhtml 文档中没有输入后代的元素:

使用以下示例 XHtml 文档:

...还有这个 PHP 代码:

我明白了:head title div#three div#four div#seven div#eight

但我想要这个:head div#three div#seven

我将获取 XPath 查询的结果并从 DOMDocument 中删除元素。title div#four div#eight是 的孩子head div#three div#seven,它们已经在结果中。

请记住,此查询将用于任何 XHtml 文档,我将如何更改我的 XPath 1.0 查询以获得所需的结果?

0 投票
1 回答
3110 浏览

php - 如何使用 PHP、CURL 抓取 javascript 网站

可能重复:
如何在 PHP 应用程序内从另一个站点呈现 javascript?

这是网站http://www.oferta.pl/stroma_v2/gazeta_v2/。这个网站完全建立在 JavaScript 之上。我想使用 PHP 和 curl 进行抓取。目前我使用 DOMXPath。在左侧菜单中有一些类别可供选择。我在那里看不到“形式”。如何使用 curl 提交该表单并废弃输出页面?

我只使用了 file_get_contents() 。它没有获取所有页面。我该如何进行?

注意:http ://www.html-form-guide.com/php-form/php-form-submit.html我发现这个例子有一个“表格”。但我指定的网站没有“表格”。

0 投票
1 回答
85 浏览

php - 使用 Xpath 提取元素

需要使用 Xpath 从此元素中提取“#purchase=9780345527721”

  • 这是我到目前为止所做的:

    $nodelist_nook = trim($xpath_nook->query("//a[@class='buy-as-gift-link']")->item(0)->nodeValue);