Skip to content

a study project while taking the Java programming course on skillbox.ru

Notifications You must be signed in to change notification settings

mislavskii/data-collector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

data-collector

a study project while taking the Java programming course on skillbox.ru

Программа, собирающая данные из разных источников

Задание:

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

  1. Класс парсинга веб-страницы. В нём должно происходить (реализуйте каждую операцию в отдельных методах):
  • получение HTML-кода страницы «Список станций Московского метрополитена» с помощью библиотеки jsoup;
  • парсинг полученной страницы и получение из неё следующих данных (создайте для каждого типа данных отдельные классы):
    • линии московского метро (имя и номер линии, цвет не нужен);
    • станции московского метро (имя станции и номер линии).
  1. Класс поиска файлов в папках. В методах этого класса необходимо реализовать обход папок, лежащих в архиве. Разархивируйте его и напишите код, который будет обходить все вложенные папки и искать в них файлы форматов JSON и CSV (с расширениями *.json и *.csv). Метод для обхода папок должен принимать путь до папки, в которой надо производить поиск.

  2. Класс парсинга файлов формата JSON. Изучите структуру JSON-файлов, лежащих в папках, и создайте класс(ы) для хранения данных из этих файлов.

  3. Напишите код, который будет принимать JSON-данные и выдавать список соответствующих им объектов.

  4. Класс парсинга файлов формата CSV. Изучите структуру CSV-файлов, лежащих в папках, и создайте класс(ы) для хранения данных из этих файлов. Напишите код, который будет принимать CSV-данные и выдавать список соответствующих им объектов.

  5. Класс, в который можно добавлять данные, полученные на предыдущих шагах, и который создаёт и записывает на диск два JSON-файла:

  • со списком станций по линиям и списком линий (map.json);
  • файл stations.json со свойствами станций в следующем формате:
{
  "stations": [
        {
              "name": "Название станции",
              "line": "Название линии",
              "date": "Дата открытия в формате 19.01.2005",
              "depth": "Глубина станции в виде числа",
              "hasConnection": "Есть ли на станции переход"
        },
        …
  ]
}

Если каких-то свойств для станции нет, то в файле не должно быть соответствующих ключей.

About

a study project while taking the Java programming course on skillbox.ru

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages