【发布时间】:2014-07-03 22:35:54
【问题描述】:
我正在尝试从网站中提取一些信息。我需要的信息包含在一个表中,我已经创建了一个查询来查找它。从 Chrome 使用控制台时,我可以看到表达式返回了我需要的表。但是当我设置 PHP 代码时,查询返回零。
这是来自 Chrome 控制台
这是我的 PHP 代码
$ch = curl_init($domain);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
$cl = curl_exec($ch);
$dom = new DOMDocument();
@$dom->loadHTML($cl);
$xpath = new DOMXPath($dom);
$table = $xpath->query("//div[@id='content_fmainplace']//form/table/tbody/tr[15]//table");
echo $table->length;
有什么想法吗?我在这里错过了什么?
【问题讨论】:
-
您是否尝试过不隐藏错误消息?
-
真的很难从这里猜到,愿意分享网站链接吗?
-
@kevinabelita 这是链接,我需要的资料在2.1节下app.cfe.gob.mx/Aplicaciones/CCFE/Tarifas/Tarifas/…
-
@elgranchuy 网站的 html 结构多么令人痛苦! 2.1节的哪一部分?标题及其内容?
-
@kevinabelita 我知道,这是我每天都必须处理的事情 :(。无论如何...我想我发现了“错误”。似乎 tbody 无法正常工作或未被检测到不知何故。我不知道 Chrome/Firefox 是否将 tbody 标记添加到每个表或 DOMXPath 没有检测到它。我将查询更改为
//div[@id='content_fmainplace']//form/table//tr[15]//table并且它现在可以工作了。