【发布时间】:2014-08-13 21:13:06
【问题描述】:
我最近在这里很快解决了一个解析问题,但这是一个我无法克服的新挑战。
这里有一个包含多个表格的(可怕的)html 页面:mxs link 我感兴趣的表格是代码的第二个,就在下面
<DIV CLASS="main"><H3>funrace.MXSConcept.com</H3><H3>Recent Races</H3>.
我需要收集所有的比赛,以便在下拉框中获得类似的东西:
40 minutes ago - 8M+1L at 2013 Motosport World GP Rd 09: Lommel (2 riders)
1 day ago - 8M+1L at 2013 EMF FrenchCup Rd5 : Lacapelle Marival (1 riders)
...
as for exemple $date is the date,
$race is the second column,
$link is hidden but is the URL of the first column (to use later in my dropdown)
注意: 日期似乎是用 js 动态生成的 somes lines talk about a new track record --> 这些行必须删除。
这是我尝试过的(嘿,别笑了伙计们!):
require('simple_html_dom.php');
$doc = new DOMDocument;
//$doc->preserveWhiteSpace = false;
$doc->loadHTMLfile('http://mxsimulator.com/servers/mx.MXSConcept.com/');
$xpath = new DOMXPath($doc);
$table = array();
$xpath = new DOMXPath($doc);
$table2 = $doc->getElementsByTagName('table')->item(1);
// collect data
$data = array();
foreach ($table2->query('//tr') as $node) {
$rowData = array();
foreach ($table2->query('td', $node) as $cell) {
$rowData[] = $cell->nodeValue;
}
}
print_r($data);
【问题讨论】:
-
到目前为止的代码输出是什么?
-
Fatal error: Call to undefined method DOMElement::query() in /home/mxsconce/www/racing/results.php on line 56没什么...
标签: php html xpath web-scraping domdocument