[Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.13 - DataCollector (Решение → 96413)

Описание

[Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.13 - DataCollector

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

Оглавление

По мере реализации проверяйте работу каждого созданного класса. В программе должны быть следующие классы:Класс парсинга веб-страницы. В нём должно происходить (реализуйте каждую операцию в отдельных методах):получение HTML-кода страницы «Список станций

По мере реализации проверяйте работу каждого созданного класса. В программе должны быть следующие классы:

  1. Класс парсинга веб-страницы. В нём должно происходить (реализуйте каждую операцию в отдельных методах):
  • получение HTML-кода страницы «Список станций Московского метрополитена» с помощью библиотеки jsoup;
  • парсинг полученной страницы и получение из неё следующих данных (создайте для каждого типа данных отдельные классы):
  • линии московского метро (имя и номер линии, цвет не нужен);
  • станции московского метро (имя станции и номер линии).
  1. Класс поиска файлов в папках. В методах этого класса необходимо реализовать обход папок, лежащих в архиве. Разархивируйте его и напишите код, который будет обходить все вложенные папки и искать в них файлы форматов JSON и CSV (с расширениями *.json и *.csv). Метод для обхода папок должен принимать путь до папки, в которой надо производить поиск.
  2. Класс парсинга файлов формата JSON. Изучите структуру JSON-файлов, лежащих в папках, и создайте класс(ы) для хранения данных из этих файлов. Напишите код, который будет принимать JSON-данные и выдавать список соответствующих им объектов.
  3. Класс парсинга файлов формата CSV. Изучите структуру CSV-файлов, лежащих в папках, и создайте класс(ы) для хранения данных из этих файлов. Напишите код, который будет принимать CSV-данные и выдавать список соответствующих им объектов.
  4. Класс, в который можно добавлять данные, полученные на предыдущих шагах, и который создаёт и записывает на диск два JSON-файла:
  • со списком станций по линиям и списком линий (файл map.json)
  • файл stations.json со свойствами станций Если каких-то свойств для станции нет, то в файле не должно быть соответствующих ключей.
  1. Обратите внимание на то, что данные в разных источниках могут пересекаться:
  • Одни и те же станции у разных веток при парсинге с сайта. Это могут быть как разные станции (например, в Москве две станции “Арбатская” и две станции “Смоленская”), так и одни и те же, если это станции пересадок.
  • Данные о датах открытия для одних и тех же станций в файлах. Если даты отличаются, то это разные станции с одинаковыми названиями.
  • Разные значения глубины для одних и тех же станций. Здесь приоритетной считайте значения с наибольшей глубиной.
    
            Описание
            [Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.13 - DataCollectorНапишите программу, которая будет собирать данные из разных источников и записывать два JSON-файла. Парсинг разных данных должен происходить в разных классах. Имена классов и их методов придумайте самостоятельно.  
            Оглавление
            По мере реализации проверяйте работу каждого созданного класса. В программе должны быть следующие классы:Класс парсинга веб-страницы. В нём должно происходить (реализуйте каждую операцию в отдельных методах):получение HTML-кода страницы «Список станций Московского метрополитена» с помощью библиотеки jsoup;парсинг полученной страницы и получение из неё следующих данных (создайте для каждого типа данных отдельные классы):линии московского метро (имя и номер линии, цвет не нужен);станции московского метро (имя станции и номер линии).Класс поиска файлов в папках. В методах этого класса необходимо реализовать обход папок, лежащих в архиве. Разархивируйте его и напишите код, который будет обходить все вложенные папки и искать в них файлы форматов JSON и CSV (с расширениями *.json и *.csv). Метод для обхода папок должен принимать путь до папки, в которой надо производить поиск.Класс парсинга файлов формата JSON. Изучите структуру JSON-файлов, лежащих в папках, и создайте класс(ы) для хранения данных из этих файлов. Напишите код, который будет принимать JSON-данные и выдавать список соответствующих им объектов.Класс парсинга файлов формата CSV. Изучите структуру CSV-файлов, лежащих в папках, и создайте класс(ы) для хранения данных из этих файлов. Напишите код, который будет принимать CSV-данные и выдавать список соответствующих им объектов.Класс, в который можно добавлять данные, полученные на предыдущих шагах, и который создаёт и записывает на диск два JSON-файла:со списком станций по линиям и списком линий (файл map.json)файл stations.json со свойствами станций Если каких-то свойств для станции нет, то в файле не должно быть соответствующих ключей.Обратите внимание на то, что данные в разных источниках могут пересекаться:Одни и те же станции у разных веток при парсинге с сайта. Это могут быть как разные станции (например, в Москве две станции “Арбатская” и две станции “Смоленская”), так и одни и те же, если это станции пересадок.Данные о датах открытия для одних и тех же станций в файлах. Если даты отличаются, то это разные станции с одинаковыми названиями.Разные значения глубины для одних и тех же станций. Здесь приоритетной считайте значения с наибольшей глубиной.  
            
            
            [Skillbox] Java-разработчик - модуль 15 - Практическая работа 15.14 - Airport.[Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.13 - DataCollector[Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.16 -  calculateFolderSize() класса FileUtils[Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.17 - calculateFolderSize() класса FileUtils[Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.18 - MovementsList[Skillbox] Java-разработчик - модуль 19 - Практическая работа 19.19 - Lenta[Skillbox] Java-разработчик - модуль 2 -синтаксис языка часть 1 - решение задач SIT транзисторы производятся с каналами[Skillbox] Java-разработчик - ВСЕ РЕШЕНИЯ НА ВСЕ МОДУЛИ !!! - 1200[Skillbox] Java-разработчик - модуль - 09_FilesAndNetwork[Skillbox] Java-разработчик - модуль 10 - массивы и коллекции. 2023 год.[Skillbox] Java-разработчик. Модуль 10 Наследование и полиморфизм. Решение задач домашней работы 10.1, 10.2[Skillbox] Java-разработчик. Модуль 11 Особенности ООП в Java. Решение задач домашней работы №11.1 и №11.2[Skillbox] Java-разработчик - модуль 13 - Наследование.  2023 год.