Страницы: 1
RSS
Парсинг итоговых результатов сайта столото, Реально ли сделать с помощью Power Query , и подсказать куда копать ели возможно
 
Все привет.
Возникла небольшая идея в связи вирусом и работы из дому время появилось немного свободного времени)), можно ли с помощью Power Query спарсить архив результатов лотореи? Пробовал сделать самостоятельно выводиться только небольшая часть и всё , ссылка на архив ниже, но для примера можно попробовать год и будет ли он сразу собирать его, так же вопрос Спасибо за ответ и не болейте.

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  
 
Не знаю, как PQ, но обычным макросом делал, лет несколько назад...
Толку от этого нет...
 
Спасибо за ответ, ну я толк не искал не ищу, хотел посмотреть возможны ли закономерности в динамики на большой истории более 10 лет.
Изменено: Александр L - 19.03.2020 11:39:18
 
Цитата
Александр L написал:
куда копать
Копать можно сюда:
Код
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 недели, и в цикле тащить этой функцией странички, потом парсить их тем кодом, который слепите из того что я предложил выше.
Изменено: PooHkrd - 19.03.2020 12:07:17
Вот горшок пустой, он предмет простой...
 
А понял , по аналогии сделать ссылки если парсим постраничный сайт.
Спасибо за ответ буду развлекаться.
 
Александр L, по ссылке смотрите какой тираж в какую дату был и добавьте в таблицу. Сайт пропускает по 49 тиражей
 
Благодарю. А что значит Столбец 3 142 ? и Столбец 4 191 ?
 
Сори посмотрел на сайте увидел что они значат , интересная задумка. Спасибо сейчас гляну пристально))
 
Александр L, я так понял что в ссылке номер тиража и дата, в которую был тираж, должны совпадать. Иначе возвращает последние тиражи( за март-февраль 2020).
 
Да собрал всю историю. Только странно на сайте дёт выбрать с 19.10.2014 а данные отображает сайт только с 30.12.2016 ну пускай так, но за три года полностью собрал. Спасибо за отклик.
Страницы: 1
Наверх