2011-12-14 3 views
0

Я заинтересован в разборе следующую таблицу и другие подобного: http://www.cityofames.org/ftp/routes/Fall/wdreds&w.htmlЛучший способ разбора HTML таблицы

Любые предложения о лучший инструмент для работы? После поиска я не могу решить, что я должен использовать, и хотел бы получить некоторую обратную связь, прежде чем что-то совершить.

Я открыт для всех языков/инструментов.

+0

Какой формат вы хотите, чтобы разобрать его в? – Petah

+0

@Petah: Я бы хотел, чтобы столбцы были разделены на массивы раз или что-то в этом роде. – tgai

+0

Какие типы массивов, JSON, PHP и т. Д. – Petah

ответ

1

Если вы ищете HTML парсер, есть несколько вариантов в Java:

Возможно, вам также потребуется пройти всестороннюю дискуссию о плюсах и минусах использования каждого из этих here.

1

С рыси я могу сделать:

$ lynx -dump http://www.cityofames.org/ftp/routes/Fall/wdreds\&w.html 
    6:25 6:31 6:36 6:41 ----- 6:46 6:50  6:56 
    7:02 7:08 7:14 7:20 ----- 7:26 7:30  7:36 
    ----- ----- ----- ----- 7:38 7:43 7:47  7:53 1A 
    7:28 7:35 7:42 7:48 ----- 7:56 8:00  8:06 
    ----- ----- ----- ----- 7:58 8:03 8:07  8:13 1A 
... 

становится очень легко разобрать с скриптового языка выбора, html2text может также работать (никогда не использовал его).

Вы также можете поиграть с grep/sed, чтобы отформатировать его.

1

HTML слишком сложно понять любым парсером. Вам нужно сначала преобразовать это в разумно близкий формат XML (для соответствия меток wellformedness - теги, которые соответствуют), например XHTML, используя такую ​​программу, как tidy (http://tidy.sourceforge.net/). Затем вы можете использовать синтаксический анализатор XML/XHTML для анализа хорошо сформированного XML. Обратите внимание, что вам придется обрабатывать ваши данные на основе стилей шрифтов и конвертировать теги на основе стилей шрифтов в несколько раз.

Вот что вы можете сделать при анализе

start TR element 
    --Create Array 
start b element 
    -- Add One time 
end b element 
start b element 
    -- Add second time 
end b element 
end TR element   
Смежные вопросы