Магистр ДонНТУ Гордеев Андрей Георгиевич

 

Сбор семантической информации из сетевых источников

 

Выполнил: Гордеев Андрей Георгиевич

 

          Постановка задачи

     Исходными материалами для данной задачи являются шесть HTML-файлов: три с информацией о факультетах на трех языках (русском, украинском и английском) и три с информацией о группах и студентах факультета ВТ, также на трех языках. Ниже приведен список этих файлов:

  • index.html
  • index_e.html
  • index_u.html
  • fvti\index.html
  • fvti\index_e.html
  • fvti\index_u.html

     В файле с информацией о факультетах, при переходе по гиперссылке с надписью «Факультет вычислительной техники и информатики (ФВТИ)» происходит переход в папку со списками групп и студентов в них. Переход происходит на страничку на том языке, на каком языке была страничка, на которой была данная ссылка. Переход по ссылке осуществляется только на факультет ВТИ, так как материалы для тестов были получены только для данного факультета.

     Целью данной работы является получение полезной информации из HTML-файлов, и перенесение ее в более удобный для хранения формат, которым является формат XML.

          Описание работы

     В первую очередь в данной работе был проведен анализ входных данных, поставленной цели, и было выбрано решение писать пользовательское приложение на языке Java[1]. Т.к. HTML-файлы имеют фиксированный набор тэгов, заданных стандартом языка HTML, а типы файлов являются строго шаблонизированными, целесообразно будет выделить полезную информацию среди тэгов программным образом. Главным образом целесообразность заключается в сочетании нескольких факторов, которые повлияли на этот выбор:

  1. Возможность с помощью приложения выделить полезную информацию из файла в любой удобный момент.
  2. Отсутствие необходимости рутинно собирать информацию вручную.
  3. Универсальность. Возможность применения одного приложения к одному типу файлов на всех трех языках. К другому типу файлов применяется другой блок приложения.
  4. Возможность попрактиковаться в программировании на данной задаче.

     Для реализации приложения была выбрана платформа Java. Java SE (Java Standard Editon) применяется для создания пользовательских приложений, в первую очередь — для настольных систем. Шестая официальная версия языка Java SE, на котором и была написана программа, является последней, на данный момент выпущенной версией этого языка, и содержит последние обновления и нововведения в технологии Java SE. В программе были использованы как последние технологии языка Java SE, так и основы, которые существовали в языке Java с самой первой версией. Ключевыми концепциями, использованными в приложении являются:

  • Считывание информации из файла.
  • Строковые операции.
  • Элементы графического интерфейса Swing и AWT.
  • Подключенная библиотека Xom, для работы с XML-форматом.

     Основными причинами использования платформы Java стали:

  • Удобный интерфейс для обработки строк.
  • Удобный, современный интерфейс для работы с файлами.
  • Легкий в создании и использовании графический интерфейс, созданный при помощи двух графических библиотек Swing и AWT.

     Результатами работы программы является удобное, графическое приложении в стиле Windows, с использованием популярного Java-стиля «Metall». На рисунке 1 приведено главное окно приложения, после его запуска.

Главное окно приложения после запуска

Рисунок 1 – главное окно приложения после запуска

     В данном окне можно увидеть стандартное меню Windows в самом верху приложения. На нем расположен стандартный ярлычок Java, при нажатии на который открывается контекстное меню в котором приложение можно закрыть, свернуть, развернуть и т.д. Правее от него находится титульная строка приложения, т.е. его рабочее пользовательское название. Так же называется и исполнимый файл, с помощью которого можно активировать приложение. В левом углу находятся три стандартные для Windows-приложения кнопки: свернуть, развернуть и закрыть приложение. В самом окне приложения находятся семь элементов:

  1. Текстовая метка, показывающая место для введения пути к файлу, который нужно перевести в формат XML.
  2. Текстовая метка, показывающая место для введения пути и названия создаваемого XML-файла.
  3. Текстовое поле, куда нужно ввести путь к файлу, который нужно перевести в формат XML.
  4. Текстовое поле, куда нужно ввести путь и название создаваемого XML-файла.
  5. Верхняя кнопка «открыть», которая активирует меню выбора папки, в которой находится файл, который нужно перевести в формат XML.
  6. Нижняя кнопка «открыть», которая активирует меню выбора папки, в которую можно сохранить переведенный файл.
  7. Кнопка «генерировать», нажатие которой следует производить после выполнения всех подготовительных действий, т.к. она непосредственно активирует действие программы, которая добывает нужную информацию из HTML-файла, а также создает и сохраняет ее в XML-файле.

     На рисунке 2 приведено окно приложения, которое активируется по нажатию верхней кнопки приложения «открыть», которая относится к открытию файла для перевода в формат XML.

Меню выбора файла для перевода

Рисунков 2 – меню выбора файла для перевода

     В нем необходимо выбрать папку, в которой находится файл для перевода в формат XML, выбрать файл, и нажать кнопку «Open». Фильтр расширений считываемых файлов менять нельзя, т.к. в данном приложении можно считывать и преобразовывать только формат HTML ( можно также преобразовывать файлы формата HTM, но для простоты далее будет упоминаться только формат HTML). После этого снова появится главное окно приложения, только поле для введения пути и имени файла для перевода будет заполнено (рис. 3).

Главное окно с заполненной строкой пути к файлу

Рисунок 3 – главное окно с заполненной строкой пути к файлу

     Заполнить строку пути к файлу можно и вручную, написав там точный путь к файлу для перевода.

     Следующим выбирается папка, в которой будет находится XML-файл, и указывается его имя. Осуществить это, как и в случае со входным файлом, можно двумя способами:

  1. Ввести путь к файлу и его имя вручную.
  2. С помощью меню выбора папки для сохранения переведенного файла.

     Разница меню выбора назначения выходного файла от входного состоит лишь в том, что вместо кнопки «Open» там находится кнопка «Save». В данном меню можно либо выбрать файл для вывода из уже имеющихся, либо ввести его вручную. Выбрать или назвать файл можно любым расширением, но для его успешного перевода и дальнейшего использования лучше присвоить ему расширение .xml.

     На рисунке 4 показано главное окно приложения, в которое введены входной и выходной пути к файлу.

Главное окно приложения после ввода в него входного и выходного пути к файлам

Рисунок 4 - главное окно приложения после ввода в него входного и выходного пути к файлам

     Теперь остается только нажать кнопку «Генерировать», и из выбранного HTML-файла будет извлечена вся полезная информация и сохранена в XML-файле. На экран выведится сообщение показанное на рисунке 5.

Cообщение об успешности конвертирования

Рисунок 5 – сообщение об успешности конвертирования

          Выводы

     Написанная программа прошла тест на выданных тестовых файлах, который показал, что программа работает успешно, а также выполняет все поставленные для нее задачи. Также программа максимально соответствует нормам проектирования ПО [2]. Пример использования программы можно проиллюстрировать приведя результаты ее работы. На рисунке 6 показан исходный тестовый HTML файл, из которого надлежит выделить необходимую информацию. На рисунке 7 показан сформированный результирующий XML файл. Вся полезная информация в нем расположена строго структурированным образом. Эта особенность является одним из самых главных преимуществ формата XML для хранения информации.

Входной тестовый файл

Рисунок 6 – входной тестовый файл

Выходной тестовый файл

Рисунок 7 – выходной тестовый файл

          Литература

  1. Хорстман, К., Корнелл Г. Х82 Java 2 Библиотека профессионала, том 1. Основы. 8 – е издание. Пер.с англ. – М.:ООО “И.Д. Вильямс”, 2008 . – 816 с.: ил. – Парал. тит.англ.
  2. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений, 3-е изд. Пер.с англ. – М.:ООО “И.Д. Вильямс”, 2008 . – 720 с.: ил. – Парал. тит.англ.

          Рекомендуемые ссылки

  1. http://www.citforum.ru/internet/xml/index.shtml - язык XML - практическое введение
  2. http://developers.sun.ru/content/view/130/124/ - введение в написание настольных приложений на Java.

Copyright © 2009, ДонНТУ, Гордеев Андрей Георгиевич