Dom 无法让Xpath只输出一些TD
如果你知道怎么做可能真的很容易,但我不知道,在花了几个小时在谷歌上搜索之后,我不得不问一些真正的程序员,因为我显然不是一个 我似乎找不到适合我的教程或代码示例。假设我只想输出EuroDiesel 10 TR滚动到一半,然后我只需要TD编号1和9的数据。我该怎么做呢 我还想将输出数据添加到带有日期戳的SQL DB中,并每天更新一次。我假设这可以通过Cron作业来完成,这是正确的吗?是否应该为我想要从中获取数据的每个价目表制作一个作业,或者我可以用一个脚本来完成?这些站点非常不同 首先,我只需要正确的数据。这就是我目前得到的Dom 无法让Xpath只输出一些TD,dom,xpath,screen-scraping,screen,Dom,Xpath,Screen Scraping,Screen,如果你知道怎么做可能真的很容易,但我不知道,在花了几个小时在谷歌上搜索之后,我不得不问一些真正的程序员,因为我显然不是一个 我似乎找不到适合我的教程或代码示例。假设我只想输出EuroDiesel 10 TR滚动到一半,然后我只需要TD编号1和9的数据。我该怎么做呢 我还想将输出数据添加到带有日期戳的SQL DB中,并每天更新一次。我假设这可以通过Cron作业来完成,这是正确的吗?是否应该为我想要从中获取数据的每个价目表制作一个作业,或者我可以用一个脚本来完成?这些站点非常不同 首先,我只需要正确
<?php
$dom = new DOMDocument;
$date = date("j. F, Y");
libxml_use_internal_errors(true);
$dom->loadHTMLFile('http://www3.statoil.com/mar/kbh00438.nsf/UNID/8C81E46A6EC8BA3BC12578C0002FFF5A?OpenDocument');
libxml_use_internal_errors(false);
$xpath = new DOMXPath($dom);
$aTag = $xpath->query('//p[@class="text"]');
foreach($aTag as $val) {
echo $date, '', $val->plaintext. "". utf8_decode(trim($val->nodeValue, "")) . "<br />\n";
}
?>
我希望你们能帮助我,在这里学习
谢谢!
Art至于XPath,我认为/html/body/form/table/tbody/tr[normalize spacetd[1]='EuroDiesel 10']/td[position=1或position=9]应该可以。然后访问$val->textContent,而不是nodeValue。您在这里遇到的主要问题是您试图解析的HTML文档格式不正确。即使XML对于DOMDocument::loadHTMLFile不是必需的,这也会给DOMDxpath类带来问题。同意!绝对不是一个容易使用的HTMl文档。谢谢Martin。我得到了一个意外的T_字符串错误,但是我看到了逻辑,所以也许我可以通过一些修改使它工作。