Разбор HTML таблицы с помощью PHP - PullRequest
0 голосов
/ 28 марта 2012

Я пытался проанализировать нижнюю таблицу на этом сайте, используя различные инструменты.

До сих пор я пользовался наибольшим успехом, используя библиотеку Simple HTML Dom, но я до сих пор не могу понять, как анализировать только эту последнюю таблицу.

Пока мой код выглядит примерно так:

<code><?php

require('simple_html_dom.php');

$table = array();

$html = file_get_html('http://www.waterlevels.gc.ca/cgi-bin/tide-shc.cgi?zone=20&region=1&   language=english&station=9635&queryType=predict&year=2012&month=2&day=9&view=table&TZ=PST');

foreach($html->find('tr') as $row) 
{
//confused as what to do there to parse only last table in given URL
}

echo '<pre>';
print_r($table);
echo '
'; ?>

Если у кого-то есть предложения, как заставить библиотеку анализировать только последнюю таблицу, это будет очень признательно.

Спасибо

Ответы [ 2 ]

3 голосов
/ 28 марта 2012

Вы можете использовать отрицательный номер в вызове find(), чтобы получить определенный элемент. Это должно дать вам вторую за последней таблицу, которая содержит все данные:

$table = $html->find('table',-2);
foreach($table->find('tr') as $row)
{
  // Process each row
}
0 голосов
/ 28 марта 2012

Вы должны быть в состоянии использовать что-то вроде этого:

$ret = $html->find('tr', 0);

Просто замените 0 на правильный #

...