Я пытаюсь разобрать this HTML table, представляя данные о температуре в течение года, предоставленные веб-сайтом правительства Австралии.Как вы анализируете таблицу HTML, представляющую время?
Эта таблица создана необычным способом: столбцы представляют собой месяцы, а строки - это дни месяца (поэтому ячейки первой строки - JAN 1, FEB 1, MAR 1). Каждая ячейка содержит номер, если есть данные, записанные на этот день, пустая ячейка, если данные не были записаны, или класс ячейки notDay
, если день не существует (например, 31 февраля).
Моя цель заключается в создании базы данных, полную этих данных в формате
DATE RAINFALL MAX TEMP
2015-02-07 35 31
2015-02-07 40 17
Мой вопрос: что будет самым простым и наиболее эффективным (с точки зрения эффективности программиста) способ синтаксического анализа таблицы, чтобы получить данные в удобный формат?
Я лично использую Ruby с библиотекой Nokogiri, но общая рекомендация по алгоритму/подходу, не относящаяся к языку, приветствуется, если она позволяет лучше обсуждать. Я не ищу, чтобы кто-то написал код и решил проблему для меня, но за советом о подходе.
Вы понимаете, что в верхней части страницы они предлагают zip-файл, который содержит те же самые данные в формате CSV, что было бы намного проще в обработке, нет? – CBroe
@ CBroe Я этого не сделал, и теперь я чувствую себя очень глупо. Спасибо, что указали на это. Я все равно оставлю вопрос, потому что разработка того, как разбирать такие вещи, может быть полезной информацией, даже если здесь нет необходимости. – GreenTriangle
D'oh! Я никогда не посещал исходную страницу. Урок, дети: прежде чем вы начнете очищать HTML, посмотрите, могут ли данные быть доступны в лучшем формате. – Satya