首页 > 解决方案 > 在 PHP 中使用 XPath 从特定表中获取单元格

问题描述

我想提取网站上特定表格的所有单元格。问题是该网站有三个表,它们没有 id,但都共享相同的类名。我可以得到三个表和每个表的所有单元格,但我只想要第二个表。我怎样才能用 XPath 做到这一点?我有以下代码:

$search->domxpathquery = "//table[contains(@class,'price-development-table')]/tbody/tr/td";

$doc = new DOMDocument;
@$doc->loadHTML(file_get_contents($search->url));
$xpath = new DOMXPath($doc);
$needles = $xpath->query("//table[contains(@class,'price-development-table')]/tbody/tr/td");

当只使用时//table[contains(@class,'price-development-table')],我可以看到有三个表。

我可以以某种方式只从其中的第二个中选择单元格吗?我尝试过使用以下内容:

//table[contains(@class,'price-development-table') and position()=2]/tbody/tr/td
//table[contains(@class,'price-development-table')][2]/tbody/tr/td

..但这些尝试并没有改变任何东西,并且由于某种原因仍然包括所有三个表。

编辑:添加了我正在尝试的网址: https ://www.q8.dk/priser/prislister/

标签: phpxpath

解决方案


推荐阅读