Научная статья на тему 'РЕАЛИЗАЦИЯ ПАРСИНГА СРЕДСТВАМИ JAVA'

РЕАЛИЗАЦИЯ ПАРСИНГА СРЕДСТВАМИ JAVA Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
457
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ / ВЕБ-СТРАНИЦЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Цхошвили Д. З., Иванова Н. А.

В работе рассматривается использование средств парсинга в мобильных приложениях для автоматического обновления информации, а также описывается процесс разработки простого мобильного приложения, отображающего каталог сериалов, взятый с сайта.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF PARSING TOOLS JAVA

This paper considers the use of parsing in mobile applications to automatically update data, and describes the process of developing a simple mobile application that displays a catalog of series, taken from the site.

Текст научной работы на тему «РЕАЛИЗАЦИЯ ПАРСИНГА СРЕДСТВАМИ JAVA»

УДК 004.4

РЕАЛИЗАЦИЯ ПАРСИНГА СРЕДСТВАМИ JAVA

Д.З. Цхошвили, Н.А. Иванова

Брянский государственный университет имени академика И.Г. Петровского

В работе рассматривается использование средств парсинга в мобильных приложениях для автоматического обновления информации, а также описывается процесс разработки простого мобильного приложения, отображающего каталог сериалов, взятый с сайта.

Ключевые слова: Eclipse, мобильные приложения, парсинг, веб-страницы, среда разработки, адаптер.

Разработка мобильных приложений в настоящее время является довольно популярным направлением. Это не удивительно, ведь мобильные приложения сейчас очень распространены и выполняют множество различных функций.

При разработке простого мобильного приложения данные могут заноситься разработчиком вручную, но при большом объеме информации или часто меняющихся данных это весьма неудобно и занимает много времени. В этом случае можно воспользоваться возможностями парсинга.

Парсинг сайтов - это последовательный синтаксический анализ информации, размещённой на интернет-страницах [1]. В данной статье будет рассмотрен процесс разработки простого мобильного приложения, отображающего каталог сериалов, которые выходят на данный момент. Актуальная информация о сериалах будет извлекаться с сайта toramp.com [2]. На сайте можно посмотреть график выхода серий сериалов, добавить любимые сериалы в расписание и отслеживать даты выхода новых серий. Также можно почитать новости мирового кинематографа и статьи о лучших сериалах.

Для разработки мобильных приложений существует большое число сред разработки. Одной из самых популярных является Eclipse, базовым языком которой является Java. Достоинствами Eclipse по сравнению с другими средами разработки являются удобный и понятный интерфейс, кроссплатформенность, возможность установки дополнений, а также настройки среды.

Процесс разработки данного приложения можно разделить на несколько этапов: создание интерфейса, добавление библиотеки в проект и реализация функционала.

Для начала необходимо создать новый проект File/New/Project, задать имя и версию Android, остальные пункты оставить по умолчанию.

Затем на форму activity_main нужно добавить компонент ListView, служащий для отображения списков, можно также сразу пометать фон окна (рис.1).

Рис. 1. Конструктор формы.

Далее в папке layout необходимо создать второй файл list_item.xml и добавить на форму текстовое поле - элемент списка, в котором и будет выводиться информация с сайта. Задать его id, так же можно прописать стиль текста - «жирный» и сделать отступы (рис. 2).

|g| list_item.xml ¡3

1 ^ ?xrnl version="2. в" encoding="ut/-8"?>

2 < Linear Layout xmlns: android="http://schemas.android. сот/apk/res/android"

android:layout_width="match_parent" android: layout_height="/r?atch_parent" android:orientations"vertical" >

6

7 <TextView

"^^^¡nclroTd: id="@+id/pro_item"

android: layout_width="/itt_porent"

10 android:layout_height="wrap_content"

11 android :textStyle="f>otd"

12 android:padding="20dip"/>

13

14 </LinearLayout>

15

Рис. 2. Редактирование list_item.xml.

На этом редактирование интерфейса приложения окончено.

Для взаимодействия с веб-страницами в Java существует несколько библиотек, в данной статье будет использована библиотека JSoup. Java-библиотека Jsoup предназначена для разбора HTML-страниц (парсинга), позволяет извлечь необходимые данные, используя DOM, CSS и методы в стиле jQuery.

Библиотека поддерживает спецификации HTML5 и позволяет разбирать страницы так же, как это делают современные браузеры. JSoup имеет функционал, состоящий из двух классов: Document — он позволяет получить нужную страницу, и Element — он позволяет получить нужный элемент.

На следующем шаге нужно добавить библиотеку JSoup. Для этого зайти на официальный сайт jsoup.org [3], скачать ее и скопировать в папку libs проекта.

Далее её следует подключить, щелкнув на ней правой кнопкой мыши и выбрав команды Build Path/Add to Build Path. Теперь библиотека отображается в папке Referenced Libraries проекта. Дерево проекта изображено на рисунке 3.

V com.example.webparsing

> gen [Generated Java Files]

> Bib Android Private Libraries v Hft Referenced Libraries

[G, AndroidManifest.xml

Рис. 3. Дерево проекта.

На следующем шаге требуется отредактировать файл MainActivityjava. Для заполнения элементов списка потребуется адаптер - шаблон проектирования, который используется для преобразования интерфейса таким образом, чтобы он мог работать с другим, несовместимым, интерфейсом [4]. Данные о сериалах, взятые с сайта, будут записываться в массив адаптера, назначенный элементу ListView (листинг 1).

Листинг 1

lv = (ListView) findViewById(R.id.listViewl);

adapter = newArrayAdapter<String>(this, R.layout.list item, R.id.pro item, titleList);

lv.setAdapter(adapter);

Также необходимо описать метод NewThread, выполняющий запросы в фоновом режиме, указать, какую страницу парсить и какие именно элементы (листинг 2).

Листинг 2

Public class NewThread extends AsyncTask <String, Void, String> {

protected String doInBackground (String... arg) {

Document doc;

try {

doc =

Jsoup.connect("http://www.toramp.com/schedule.php?genre=all&status=o&year=all"). get();

content = doc.select(".title"); titleList.clear();

Через цикл for организовать захват элементов со страницы и их запись в массив значений элементов списка (листинг 3).

Листинг 3

for (org.jsoup.nodes.Element contents: content) {

titleList.add(contents.text());}

} catch (IOException e) {

e.printStackTrace();}

return null;}

После этого нужно отредактировать файл AndroidManifest, добавив разрешение приложению выходить в Интернет (листинг 4).

Листинг 4

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permissionandroid:name="android.permission.INTERNET"/>

На этом разработка приложения закончена, и можно проверить его работоспособность на эмуляторе (рис.4). В качестве виртуального устройства использовался Nexus One с диагональю экрана 3,7 дюйма и разрешением экрана 480*800 пикселей. Версия Android -4.4.2. При запуске приложения на экран выводится список сериалов, информация о которых получена с сайта toramp.com.

I 5554:deuice __и

jl 0 7:51 I

i|i WebParsing . 1

Сверхъестественное

Дневники вампира

Теория большого взрыва

Кости

Американская семейка

Родина

Гримм

Две разорившиеся девочки

Новенькая

Форс-мажоры

Рис. 4. Запуск проекта на эмуляторе.

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

Список литературы

1. Парсинг: что это такое и как он создается. [Электронный ресурс]. URL:http://fb.ru/ article/261908/parsing-chto-eto-takoe-i-kak-on-sozdaetsya. (Дата обращения: 22.01.2017).

2. Toramp.com. [Электронный ресурс]. URL:http://www.toramp.com. (Дата обращения: 23.01.2017).

3. Официальный сайт JSoup. [Электронный ресурс]. URL:https://jsoup.org. (Дата обращения: 21.01.2017).

4. IBM Developer Works. [Электронныйресурс]. URL: http://www.ibm.com/ developerworks/ru/library/j-ft11/index.html. (Дата обращения: 22.01.2017).

Сведения об авторах

Цхошвили Д.З. - магистрант направления подготовки «Прикладная математика и информатика», Брянский государственный университет имени академика И.Г. Петровского, [email protected].

Иванова Н.А. - кандидат технических наук, доцент кафедры информатики и прикладной математики, Брянский государственный университет имени академика И.Г. Петровского, [email protected].

IMPLEMENTATION OF PARSING TOOLS JAVA

D.Z. Tskhoshvili, N.A. Ivanova

Bryansk State University named after Academician I. G. Petrovsky

This paper considers the use of parsing in mobile applications to automatically update data, and describes the process of developing a simple mobile application that displays a catalog of series, taken from the site. Keywords: Eclipse, mobile applications, parsing the web page, the IDE adapter.

References

1. Parsing: what it is and how it is created. [Electronic resource]. URL: http: //fb.ru/article/261908/parsing-chto-eto-takoe-i-kak-on-sozdaetsya. (Reference date: 01.22.2017).

2. Toramp.com. [Electronic resource]. URL: http: //www.toramp.com. (Reference date: 01.23.2017).

3. The official website JSoup. [Electronic resource]. URL: https: //jsoup.org. (Reference date: 01.21.2017).

4. IBM Developer Works. [Electronic resource]. URL: http://www.ibm.com/developerworks/ru/library/j-ft11/index.html. (Reference date: 01.22.2017).

About authors

Tskhoshvili D.Z. - graduate student, Department of applied mathematics and computer science, Bryansk State University named after Academician I. G. Petrovsky, [email protected].

Ivanova N.A. - Candidate of Physical and Mathematical Sciences, Associate Professor, Department of applied mathematics and computer science, Bryansk State University named after Academician I. G. Petrovsky, [email protected].

i Надоели баннеры? Вы всегда можете отключить рекламу.