Страницы: 1
RSS
Pагрузка данных с сайта через подключение PQ
 
Добрый день.  Когда делаешь подключение к сайту и загружаешь данные через PQ  сталкиваешься со следующем, что информация на сайте отображается в несколько страниц т.е. одно подключение это на одну страницу, но когда много страниц например 30 стр., то надо создавать 30 подключений потом все это дело формировать в одно.

А есть ли какой менее трудоемкий процесс, который давал бы возможность подключится ко всему каталогу , даже если он на сайте представлен в большом кол-ве страниц? ?
 
Когда вы щелкаете по страницам скорее всего меняется адресная строка. Сначала делаете запрос на основе одной страницы. Потом превращаете этот запрос в функцию, где параметром будет адресная строка страницы. Далее создаете список все возможных адресных строк и применяете к ним функцию. Т.е. у вас будет какая-то часть адресной строки постоянной, а какая-то меняется. Нужно понять что меняется и сделать список.
 
Цитата
pantel1987 написал:
Когда вы щелкаете по страницам скорее всего меняется адресная строка. Сначала делаете запрос на основе одной страницы. Потом превращаете этот запрос в функцию, где параметром будет адресная строка страницы. Далее создаете список все возможных адресных строк и применяете к ним функцию. Т.е. у вас будет какая-то часть адресной строки постоянной, а какая-то меняется. Нужно понять что меняется и сделать список.
О, суть понял. Спасибо большое.
Пока не знаю как это сделать  - технически, не делал, но буду теперь разбираться. В адресной строке в большинстве вариантов меняется именно номер страницы, так что нумерация будет переменной частью.

Буду Вам очень признателен, если подскажите как сделать:  " Далее создаете список все возможных адресных строк и применяете к ним функцию" ?
 
Чтобы создать список, если в адресной строке номер меняется, можно так например.
А как превратить запрос в функцию погуглите, там ничего сложного.

Код
let
    Источник = {1..3},
    #"Преобразовано в таблицу" = Table.FromList(Источник, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Преобразовано в таблицу", "Пользовательская", each "www.planetaexcel.ru/"),
    #"Измененный тип" = Table.TransformColumnTypes(#"Добавлен пользовательский объект",{{"Пользовательская", type text}, {"Column1", type text}}),
    #"Объединенные столбцы" = Table.CombineColumns(#"Измененный тип",{"Пользовательская", "Column1"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Сведено")
in
    #"Объединенные столбцы"
 
Цитата
pantel1987 написал:
Чтобы создать список, если в адресной строке номер меняется, можно так например.
А как превратить запрос в функцию погуглите, там ничего сложного.

Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      let          Источник = {1..3},          #  "Преобразовано в таблицу"   = Table.FromList(Источник, Splitter.SplitByNothing(), null, null, ExtraValues.  Error  ),          #  "Добавлен пользовательский объект"   = Table.AddColumn(#  "Преобразовано в таблицу"  ,   "Пользовательская"  , each   "www.planetaexcel.ru/"  ),          #  "Измененный тип"   = Table.TransformColumnTypes(#  "Добавлен пользовательский объект"  ,{{  "Пользовательская"  , type text}, {  "Column1"  , type text}}),          #  "Объединенные столбцы"   = Table.CombineColumns(#  "Измененный тип"  ,{  "Пользовательская"  ,   "Column1"  },Combiner.CombineTextByDelimiter(  ""  , QuoteStyle.None),  "Сведено"  )    in          #  "Объединенные столбцы"   
 
Спасибо большое!
 
Цитата
pantel1987 написал:
Источник = {1..3},
Источник = {1..3} - это созданная функция?
 
Нет, это я привел пример как можно создать список адресов страниц сайта. А функцию вы создадите из своего запроса. Т.е. вы сделает обработку одной страницы, затем в коде замените адрес это страницы на параметр и получите функцию. Затем скормите этой функции свой список адресов.
 
https://comrade-xl.ru/2019/09/09/mnogostanichnoe-izvlechenie-powerquery/
Страницы: 1
Наверх