Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

9.14. Домашняя работа 9.5

Цель задания

Научиться получать данные из HTML-страницы, создавать и читать JSON-файлы.

Что нужно сделать

Напишите программу, которая:

1. Получает HTML-код страницы «Список станций Московского метрополитена» https://www.moscowmap.ru/metro.html#lines с помощью библиотеки jsoup.

2. Парсит полученную страницу и получает из неё:

  • Линии московского метро (получаете имя линии, номер линии, цвет парсить не надо).
  • Станции московского метро (получаете имя станции, номер линии).

3. Создаёт и записывает на диск JSON-файл со списком станций по линиям и списком линий по формату JSON-файла из проекта SPBMetro (файл map.json).

4. Читает файл и выводит в консоль количество станций на каждой линии.

Рекомендации

  • По умолчанию Jsoup читает 2 Мб данных с запрашиваемой страницы. Чтобы снять это ограничение, необходимо добавить вызов метода maxBodySize(0), устанавливающий максимальное значение получаемых данных:

Document doc = Jsoup.connect(URL).maxBodySize(0).get();

значение 0 означает, что нет ограничений на принимаемый объём данных.

  • При изучении кода страницы удобно использовать консоль разработчика в браузере. Для этого нажмите F12, перейдите во вкладку Elements и найдите тег <div id="metrodata">. В нём содержатся таблицы с линиями, станциями и пересадками. Обращайте внимание на классы, напишите селекторы на основе найденных классов. Посмотрите, как получать элементы по селекторам в документации JSoup.
  • Для более быстрого поиска нужных селекторов используйте онлайн сервис jsoup https://try.jsoup.org/

Критерии оценки

«Зачёт» — программа получает данные с сайта, записывает в файл и выводит информацию о количестве станций на линиях.
«Незачёт» — задание не выполнено.

Дополнительное задание*

Цель задания

Потренироваться в работе с библиотекой jsoup и формированием JSON-файлов.

Что нужно сделать

  1. Пропарсите и записывайте в JSON-файл переходы между станциями в дополнение к линиям и станциям (коллекции имя станции, номер линии, между которым есть переходы).
  2. Выведите в консоль количество переходов в метро.

Критерии оценки

«Зачёт» — в консоль выводится количество переходов в московском метро.
«Незачёт» — задание не выполнено.