我试图在“网页刮擦”期间拉出一张精确的桌子。 使用cURL将页面拉入$ html,这很好。
使用Firebug将精确的XPATH提供给所需的表。
代码如下:
$dom = new DOMDocument($html);
$dom->loadHTML($html);
$xpath = new DOMXpath($dom);
$summary = $xpath->evaluate('/html/body/table[5]/tbody/tr/td[3]/table/tbody/tr[8]/td/table');
echo "Summary Length: " . $summary->length;
执行时,$ summary->长度始终为零。它不会拉取该表节点。
有什么想法吗?
答案 0 :(得分:4)
Firefox可能会将“虚拟”tbody
元素插入到没有这些元素的表中;这些元素是否存在于原始文件中?
答案 1 :(得分:2)
只需删除“/ tbody”即可。从xpath你得到firefox:
.//* [@ ID = '数据'] / tbody的/ TR [1] / TD [2] /跨度
创建:
.//* [@ ID = '数据'] / TR [1] / TD [2] /跨度
芦荟