Парсинг электронных журналов
Структуру и оформление древовидного облака позволяет осуществить DOM (Document Object Model) интерфейс. Он не зависит от платформы и языка программирования и позволяет программам и скриптам получить доступ к содержимому html, xhtml и xml-документов, а также изменять содержимое, структуру и оформление таких документов. Так как на построение полного дерева уходит достаточно большой объем… Читать ещё >
Парсинг электронных журналов (реферат, курсовая, диплом, контрольная)
Как мы сказали выше, парсинг — это линейное сопоставление последовательности слов с правилами языка. Понятие как «язык» рассматривается в очень широком контексте. Это может быть человеческий язык (например, русский), используемый для коммуникации людей. А может и формализованный язык, в частности, любой язык программирования [5].
Парсинг сайтов — последовательный анализ информации, размещенной на интернет-страницах. В общем случае интернет-страница представляет собой иерархичный набор данных, структурированный с помощью человеческих и компьютерных языков. На человеческом языке предоставлена информация, знания, ради которых, собственно, люди и пользуются интернетом. Компьютерные языки (html, JavaScript, css) определяют, как информация выглядит на мониторе.
В настоящее время парсинг сайтов является эффективным решением для автоматизации, сбора и изменения информации. Парсеры используются для поддержания информации в актуальном состоянии. Применимо в таких областях, где информация быстро теряет актуальность и уже неприменима спустя буквально несколько минут. В таких случаях ручное ее редактирование практически невозможно или требует колоссальных затрат человеческих ресурсов. Например, отображение погоды. Так же они используются для объединения потоков информации из разных источников в одном месте и ее постоянное обновление. Например, существуют агрегаторы, которые собирают все предложения с сайтов по предоставлению работы в одном месте. Они позволяют моментально отслеживать все предложения и быть одним из первых, откликнувшихся на предложения работодателя. Агрегирование новостных потоков из нескольких источников и так далее. Самые известные парсеры в сети — это поисковые роботы, которые анализируют страницы, сохраняют данные анализа у себя в базе и потом при поиске выдают релевантные и актуальные документы.
Парсеры как правило пишутся с использованием одного из скриптовых или серверных языков программирования (PHP, Perl, C# и другие). Результат парсинга чаще всего помещается в базу данных, в файл, в удобном для чтения или обработке формате. Существуют различные методы к разбору веб-страниц:
· Парсинг с помощью регулярных выражений.
Регулярные выражения (РВ) — механизм, позволяющий задать «шаблон» для строки и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. Их главная функция — это поиск в тексте данных, соответствующих «маске», описанной в синтаксисе регулярных выражений.
Сейчас РВ используются многими текстовыми редакторами и утилитами для поиска и изменения текста на основ выбранных правил. Многие языки программирования уже поддерживают РВ для работы со строками. Набор утилит, поставляемых в дистрибутивах Unix, одним из первых способствовал популяризации понятия РВ.
· Парсинг с помощью дерева тегов Этот вид парсинга основан на построении полного дерева синтаксического разбора в оперативной памяти и удобной навигации по нему с помощью встроенных в библиотеку функций (рис. 1.6.).
Структуру и оформление древовидного облака позволяет осуществить DOM (Document Object Model) интерфейс. Он не зависит от платформы и языка программирования и позволяет программам и скриптам получить доступ к содержимому html, xhtml и xml-документов, а также изменять содержимое, структуру и оформление таких документов. Так как на построение полного дерева уходит достаточно большой объем оперативной памяти и ресурсов компьютера, то в сравнении с предыдущим методом требует больше ресурсов, но позволяет более точно задать критерии поиска необходимой информации, а также предоставляет удобный интерфейс для программиста.
В нашей бакалаврской работе разрабатываются программно-алгоритмические средства, позволяющие обрабатывать интернет-страницы, скачивать с них интересующую нас информацию. Результатом работы ПАС является файл определенной структуры, который прошел через обработку, заданную пользователем и пригодный для дальнейшей классификации.
На просторах интернета все веб-страницы создаются с помощью языка html. Этот язык позволяет создавать собственные страницы и сайты. Рассмотрим более подробно данный язык.
HTML (от англ. Hypertext Markup Language — «язык разметки гипертекста») — это стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Он отвечает за расположение на веб-страницах текстов, рисунков, таблиц, то есть за наполнение Интернет-ресурса соответствующим контентом [6].
Любой документ на языке html представляет собой набор элементов, причем начало и конец каждого элемента обозначается специальными пометками — тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных. В общем виде html-теги выглядят так: …, … и т. д. Элементы могут иметь атрибуты, определяющие какие-либо их свойства (например размер шрифта для элемента font). Атрибуты указываются в открывающем теге. В html регистр элементов и атрибутов роли не играет, в отличие от xhtml.
Кроме элементов в html-документах есть и сущности — специальные символы. Сущности начинаются с символа амперсанда и имеют вид: &имя; или NNNN; где NNNN — код символа в Юникоде в десятичной системе счисления.
Каждый html-документ, отвечающий спецификации html какой-либо версии, должен начинаться со строки объявления версии html:. Если эта строка не указана, то добиться корректного отображения документа в браузере становится труднее. Далее обозначается начало и конец документа тегами и соответственно. Внутри этих тегов должны находиться теги заголовка () и тела () документа. Остальные теги являются необязательными для того, чтобы браузер прочитал интернет-страницу.
Из этой информации вытекает очень существенный вывод: использовать парсер для данных тегов на различных веб-страницах нецелесообразно, по причине того, что они есть на каждой страниц, то есть каждая страница будет искомой, т.к. содержит данные теги.
Для того, чтобы «облегчить» жизнь программистам, существуют веб-шаблоны, которые может использовать в своем сайте любой желающий. Количество шаблонов очень велико, их разнообразие не имеет границ.
Одним из типичных шаблонов является табличный. Табличный вид шаблона очень популярен в связи с легкостью написания, простотой добавления контента, а также наглядностью на HTML-странице. В выборке наших веб-ресурсов и веб-хранилищ нередко используется такой тип шаблонов.
Однако это не делает парсинг интернет-страниц тривиальной задачей, поскольку существует ряд проблем:
- · наличие различных тегов, такие как:, ,, , и другие, создает бесконечное количество вариаций html-структур сайтов.
- · наличие тегов, которые равнозначны друг другу, такие как равнозначен и означает жирный шрифт, а имеет тоже самое значение, что и , означающий курсивный шрифт.
Два вышестоящих аргумента подтверждают различие html-страниц между собой, что в значительной мере усложняет нашу задачу.
Наибольшей проблемой для написания программы-парсера является то, что на различных сайтах могут использоваться совершенно разные теги. Информация также может хранится в различных тегах. Все это затрудняет построение универсального шаблона, по которому будет возможно обрабатывать электронные публикации и получать желаемый результат.
Сделаем вывод, что разрабатываемые ПАС в рамках этой бакалаврской работы должны обрабатывать электронные журналы, скачивать и по результатам обработки присваивать метку класса в зависимости от контекста БО.
Уточнение постановки задачи
В нашей работе разрабатываются программно-алгоритмические средства, которые включают в себя не только парсинг электронных журналов и их перевод на другой язык, но и обработку текстовых статей и присвоение метки класса для дальнейшей классификации.
Обработка документов включает в себя:
- · разделение документа на отдельные слова для последующего анализа
- · удаление служебных символов (точки, запятые и т. д.).
- · отсечение стоп-слов. Стоп-слова — слова, не несущие смысловой нагрузки (союзы, местоимения, предлоги и пр.).
- · выделения основы слова для дополнительного сокращения размерности текстовой информации и удобства для дальнейшей классификации.
- · использование программных средств для автоматического перевода исходных документов на русский язык для выявления наибольшей информативности БО.
Классификация осуществляется с использованием разнообразных методов и подходов, которые позволяют присваивать каждому слову некий рассчитанный заранее конкретно для него «вес». Более подробно задача классификации будет рассмотрена в главе 2.