Skip to content

Instantly share code, notes, and snippets.

@stevedep
Created January 3, 2023 15:51
Show Gist options
  • Select an option

  • Save stevedep/8ea18495d9980895f521fbc6c0dd8d91 to your computer and use it in GitHub Desktop.

Select an option

Save stevedep/8ea18495d9980895f521fbc6c0dd8d91 to your computer and use it in GitHub Desktop.
let
Source = Web.BrowserContents("https://www.autowereld.nl/info/mitsubishi/outlander/", [WaitFor = [Timeout = #duration(0,0,0,10)]]),
HtmlTable = Html.Table( Source, {{"Link", "a", each [Attributes][href]}}, [RowSelector=".item.model"]),
#"Replaced Value" = Table.ReplaceValue(HtmlTable,"/info/","https://www.autowereld.nl/info/",Replacer.ReplaceText,{"Link"}),
//Example = #"Replaced Value"[Link]{0},
fnGetDetails = (url) =>
let
OpenUrl = Web.BrowserContents(url),
HtmlTableDetails = Html.Table( OpenUrl, {{"Model", ".type"}, {"Price", ".price"}, {"Transmission", ".transmission"}, {"From", ".from"}, {"Until", ".until"}}, [RowSelector="a.item"])
in
HtmlTableDetails,
GetDetails = Table.AddColumn(#"Replaced Value", "Data", each fnGetDetails([Link])),
#"Removed Other Columns" = Table.SelectColumns(GetDetails,{"Data"}),
#"Expanded Data" = Table.ExpandTableColumn(#"Removed Other Columns", "Data", {"Model", "Price", "Transmission", "From", "Until"}, {"Model", "Price", "Transmission", "From", "Until"}),
#"Changed Type" = Table.TransformColumnTypes(#"Expanded Data",{{"Price", Int64.Type}, {"From", Int64.Type}, {"Until", Int64.Type}}),
#"Uppercased Text" = Table.TransformColumns(#"Changed Type",{{"Model", Text.Upper, type text}}),
#"Replaced Value1" = Table.ReplaceValue(#"Uppercased Text","E +","E+",Replacer.ReplaceText,{"Model"}),
Custom1 = Table.TransformColumns( #"Replaced Value1", {"Model", each List.Transform( Text.Split(_, " "), each Text.Trim(_))}),
#"Added Custom" = Table.AddColumn(Custom1, "Length", each List.Count([Model])),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Transmission"}),
#"Changed Type1" = Table.Buffer( Table.TransformColumnTypes(#"Removed Columns",{{"Price", Int64.Type}, {"Until", Int64.Type}, {"From", Int64.Type}, {"Length", Int64.Type}}))
in #"Changed Type1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment