我正在尝试访问网站上第一个和第二个表格中的信息。使用下面的代码我只能访问第一个表。我用什么语法来到第二个或第n个表?
$url = "http://iditarod.com/race/2014/";
//new dom object
$dom = new DOMDocument();
//load the html
$html = $dom->loadHTMLFile($url);
//discard white space
$dom->preserveWhiteSpace = false;
//the table by its tag name
$tables = $dom->getElementsByTagName('table');
//get all rows from the table
$rows = $tables->item(0)->getElementsByTagName('tr');
答案 0 :(得分:1)
要获取第二个表格,请使用item(1)
。要获取 nth 表,请使用 n - 1 。
getElementsByTagName('table')
返回的是DOMNodeList,其中包含文档中所有elements名为“table”的内容。 DOMNodeList方法item()
在给定索引处从该列表返回DOMNode,项目索引从0开始。
所以要从第二个表中获取所有行:
$rows = $tables->item(1)->getElementsByTagName('tr');