Парсинг HTML в Java
1. Нужно пропарсить данную страницу https://www.moscowmap.ru/metro.html#lines ,
получить номера линий, названия линий и список станций по каждой. Не получается пропарсить номера линий. Правильно ли понимаю, что брать их надо из этой строки?
<div class="js-metro-stations t-metrostation-list-table" data-line="1" style="grid-template-rows: repeat(13,36px);">
Если да, то как? Если нет, то почему и что в итоге делать?
2. Как полученную информацию поместить в json файл? Основной блок файла состоит из ключей - номеров линий, которым соответствуют значения-массивы - группы соответсвующих названий станций. На этот вопрос просто в общих чертах, если можно: ступор появился, но хоть немного самостоятельно подумать еще хочется.
Подразумевается использование библиотек jsoup и json-simple.
PS Вот так получаю линии и станции. Рациональное ли это решение в данном случае?
Elements lines = doc.select("span[data-line]");
Elements stations = doc.select("span.name");
Спасибо!
Если нужно мое ваяние:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Main {
static final String ADDRESS = " https://www.moscowmap.ru/metro.html#lines ";
static final String STATION_FILE = "data/station.json";
public static void main(String[] args) {
parser(ADDRESS);
}
public static void parser(String URL){
try {
Document doc = Jsoup.connect(URL).maxBodySize(0).get();//получение html-кода страницы
Elements lines = doc.select("span[data-line]");//названия линий
Elements stations = doc.select("span.name");//названия станций
Elements numberLines = doc.select();//номера линий
} catch (Exception e) {
e.printStackTrace();
}
}
}
Если нет возможности дать ответ, буду благодарна за ссылки на конкретные источники с относящейся к вопросу информацией.
Я бы предложила не парсить страницу, а воспользоваться api https://data.mos.ru/classifier/7704786030-stantsii-moskovskogo-metropolitena/data/table,
Очень удобный json отдает в ответ

