Все привет. Возникла небольшая идея в связи вирусом и работы из дому время появилось немного свободного времени)), можно ли с помощью Power Query спарсить архив результатов лотореи? Пробовал сделать самостоятельно выводиться только небольшая часть и всё , ссылка на архив ниже, но для примера можно попробовать год и будет ли он сразу собирать его, так же вопрос Спасибо за ответ и не болейте.
let
Источник = Text.FromBinary( Web.Contents("https://m.stoloto.ru/4x20/archive?mode=date&from=01.12.1999&from_submit=01.12.1999&to=18.03.2020&to_submit=18.03.2020#tickets-period") ),
Пользовательская1 = Table.FromColumns({ Lines.FromText( Text.BetweenDelimiters( Источник, "<section class=""main__section"">", "<section class=""main__section more_draws"">" ) ) }),
#"Добавлен индекс" = Table.AddIndexColumn(Пользовательская1, "Индекс", 0, 1),
#"Добавлен пользовательский объект" = Table.AddColumn(#"Добавлен индекс", "groupby", each if Text.Contains( [Column1], "<div class=""fields fields_4x20"">" ) then [Индекс] else null),
#"Заполнение вниз" = Table.FillDown(#"Добавлен пользовательский объект",{"groupby"}),
#"Строки с примененным фильтром" = Table.SelectRows(#"Заполнение вниз", each ([groupby] <> null)),
#"Сгруппированные строки" = Table.Group(#"Строки с примененным фильтром", {"groupby"}, {{"tab", each _, type table}})
in
#"Сгруппированные строки"
Дальше сами выдумывайте функцию, которая в каждой из сгруппированных таблиц вытащит нужные значения. Лично мне это уже скучно, там слишком просто, но муторно.
Цитата
Александр L написал: будет ли он сразу собирать его
Нет не будет, мой метод тащит код страницы, который заканчивается на кнопке "Показать еще" Поэтому рекомендация: смотрите сколько тиражей выводится на одну страницу, я увидел что он выводит значения где-то за три недели, значит вам нужно сделать функцию, которая формирует ссылку из параметров по дате, потом сформировать список начальных/конечных дат за 10 лет разбитых на диапазоны по 2 недели, и в цикле тащить этой функцией странички, потом парсить их тем кодом, который слепите из того что я предложил выше.
Александр L, я так понял что в ссылке номер тиража и дата, в которую был тираж, должны совпадать. Иначе возвращает последние тиражи( за март-февраль 2020).
Да собрал всю историю. Только странно на сайте дёт выбрать с 19.10.2014 а данные отображает сайт только с 30.12.2016 ну пускай так, но за три года полностью собрал. Спасибо за отклик.