Я пытаюсь получить доступ к информации из первой и второй таблицы на веб-сайте. Используя приведенный ниже код, я могу получить доступ только к первой таблице. Какой синтаксис я использую, чтобы добраться до второй или 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');
Чтобы получить вторую таблицу, используйте item(1)
, Чтобы получить энный стол, использовать n — 1.
Какие getElementsByTagName('table')
возвращается DOMNodeList который содержит все элементы названный «стол» в документе. Метод DOMNodeList item()
возвращает DOMNode из этого списка по заданному индексу, с индексом элемента, начинающимся с 0.
Итак, чтобы получить все строки из второй таблицы:
$rows = $tables->item(1)->getElementsByTagName('tr');
Других решений пока нет …