РАЗРАБОТКА ANDROID‑ПРИЛОЖЕНИЯ ДЛЯ ОТОБРАЖЕНИЯ ПОГОДЫ С ИСПОЛЬЗОВАНИЕМ GISMETEO И JSOUP

Кот Тимур Илдарович
Уфимский университет науки и технологий, Нефтекамский филиал
студент 4 курса, Факультет экономико-математический

Аннотация
Статья посвящена разработке Android-приложения для парсинга данных о погоде с сайта Gismeteo с использованием библиотеки Jsoup. Рассматривается актуальность темы в контексте мобильной разработки и отсутствия открытых API у многих информационных ресурсов. Предлагается пошаговый алгоритм создания приложения с фоновыми потоками через ExecutorService и Handler. Приводится практический код с извлечением температуры из HTML-структуры сайта. Обсуждаются особенности парсинга в Android и необходимость соблюдения разрешений и этических норм при сборе данных.

Ключевые слова: , , , , , ,


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Кот Т.И. Разработка Android‑приложения для отображения погоды с использованием Gismeteo и Jsoup // Современные научные исследования и инновации. 2026. № 3 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2026/03/104431 (дата обращения: 08.04.2026).

Научный руководитель: Вильданов Алмаз Нафкатович
к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал

Веб-скрейпинг с использованием библиотеки Jsoup остается высокоактуальной темой для Android-разработчиков, поскольку позволяет автоматизировать сбор данных с веб-сайтов, включая прогнозы погоды, новости и коммерческую информацию. В условиях отсутствия открытых API у многих популярных ресурсов, включая Gismeteo, эта техника становится востребованной в мобильной разработке, аналитике и автоматизации задач, где прямой доступ к данным невозможен.

В данной работе выполняется парсинг погоды для Ростова-на-Дону с сайта Gismeteo (рисунок 1) с использованием библиотеки Jsoup для извлечения температуры из HTML-структуры страницы. Для обеспечения корректной работы сетевых запросов применяется ExecutorService, организующий фоновый поток, а обновление пользовательского интерфейса выполняется через Handler. Подобные скрипты востребованы при создании мобильных информеров, особенно для регионов, данные по которым недоступны через официальные API. Стабильность библиотеки Jsoup и встроенных средств многопоточности Android обеспечивает надежность работы приложения в условиях ограниченных ресурсов мобильного устройства.

Рисунок 1. Сайт погоды

Алгоритм решения задачи по созданию Android-приложения для отображения погоды включает следующие последовательные шаги разработки:

  • добавляем разрешение на доступ к интернету в файл AndroidManifest.xml;
  • подключаем зависимость библиотеки Jsoup в файле build.gradle модуля приложения;
  • создаём интерфейс с кнопкой для запуска парсинга и текстовым полем для отображения результата;
  • инициализируем ExecutorService для выполнения сетевого запроса в фоновом потоке;
  • выполняем подключение к сайту Gismeteo с указанием URL нужного города;
  • находим элемент с классом “weather-value” и извлекаем из него значение температуры;
  • обрабатываем возможные исключения при сетевом подключении;
  • используем Handler для обновления TextView с полученными данными в UI-потоке.

Ниже приведен фрагмент кода основной логики приложения:

private View.OnClickListener myOnClick = new View.OnClickListener() {

public void onClick(View v) {

ExecutorService executor = Executors.newSingleThreadExecutor();

Handler handler = new Handler(Looper.getMainLooper());

executor.execute(new Runnable() {

String title;

@Override

public void run() {

//Background work here

try {

Document doc = Jsoup.connect(“https://www.gismeteo.ru/weather-rostov-na-donu-5110/”).get();

Elements ele = doc.select(“div[class=weather-value]“);

Element pogoda = ele.select(“temperature-value”).first();

title = pogoda.val();

} catch (IOException e) {

// e.printStackTrace();

title = “error”;

}

handler.post(new Runnable() {

@Override

public void run() {

//UI Thread work here

myTextView.setText(“Ростов-на-Дону: ” + title);

}

});

}

});

}

};


В представленном коде при нажатии на кнопку создается однопоточный ExecutorService, который выполняет сетевой запрос в фоне. Jsoup подключается к странице города, находит элемент с классом “weather-value” и извлекает из вложенного тега “temperature-value” значение температуры. В случае ошибки (отсутствие интернета, изменение структуры сайта) в переменную title записывается “error”. После завершения работы Handler обновляет TextView в главном потоке.

Рисунок 2. Интерфейс разработанного приложения с результатом парсинга

Заключение 

Разработанное Android-приложение успешно выполняет парсинг данных о погоде с сайта Gismeteo и отображает температуру для указанного города. Использование библиотеки Jsoup в сочетании с ExecutorService и Handler обеспечивает стабильную работу приложения без блокировки пользовательского интерфейса. Предложенный подход может быть адаптирован для парсинга любых данных с веб-страниц, что расширяет возможности мобильных приложений при отсутствии официальных API. Важно помнить об этических аспектах и соблюдении правил robots.txt при разработке подобных решений. Дальнейшее развитие приложения может включать добавление списка городов, автоматическое обновление данных и визуализацию погодных условий.


Библиографический список
  1. Коматинени, С. Android-программирование для профессионалов / С. Коматинени, Д. Маклин. — 4-е изд. — Санкт-Петербург : Питер, 2021. — 832 с. — ISBN 978-5-4461-1678-2.
  2. Хортон, Д. Android. Программирование для профессионалов / Д. Хортон. — Москва : Эксмо, 2020. — 672 с. — ISBN 978-5-04-113108-5.
  3. Гриффитс, Д. Head First. Программирование для Android / Д. Гриффитс, Д. Гриффитс. — Санкт-Петербург : Питер, 2019. — 912 с. — ISBN 978-5-4461-1126-8.
  4. Мейер, Б. Android 6 для программистов. Разработка приложений / Б. Мейер. — Санкт-Петербург : БХВ-Петербург, 2021. — 528 с. — ISBN 978-5-9775-3849-3.


Все статьи автора «author20348»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте.