let
Source = Text.FromBinary(Web.Contents("https://www.eia.gov/")),
myStr = Text.Split(Text.Split(Source, "<div class=""accent"">"){1},"<div class=""l-row l-two-col-right-narrow"">"){0},
myList = Lines.FromText(myStr),
h3Count = List.Count(List.Select(myList, each Text.Contains(_, "<h3>"))),
cleanList = List.Range(myList, 1, h3Count * 5),
finalList = List.Select(cleanList, each Text.Length(Text.Trim(_)) > 1),
#"Converted to Table" = Table.FromList(finalList, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Added Custom" = Table.AddColumn(#"Converted to Table", "Heading", each if Text.Contains([Column1],"<h3>") then Text.Trim(List.Last(Text.Split(Text.Split([Column1],"</a>"){0},">"))) else null),
#"Filled Down" = Table.FillDown(#"Added Custom",{"Heading"}),
#"Grouped Rows" = Table.Group(#"Filled Down", {"Heading"}, {{"Temp", each _, type table [Column1=text, Heading=text]}}),
#"Added Custom1" = Table.AddColumn(#"Grouped Rows", "str", each Text.Combine(List.Select([Temp][Column1], each Text.Contains(_,"<h3>") <> true))),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Temp"}),
#"Added Custom2" = Table.AddColumn(#"Removed Columns", "Date", each Text.Split(Text.Split([str],":"){0},">"){1}),
#"Added Custom3" = Table.AddColumn(#"Added Custom2", "Value", each Text.Split(Text.Split([str],"</b>"){0},"<b>"){1}),
#"Added Custom4" = Table.AddColumn(#"Added Custom3", "IndicatorWk", each List.Last(Text.Split(Text.Split([str],"</span>"){0},">"))),
#"Added Custom5" = Table.AddColumn(#"Added Custom4", "ChangeWk", each Text.Split(Text.Split([str],"</span>"){1},"<"){0}),
#"Added Custom6" = Table.AddColumn(#"Added Custom5", "IndicatorYr", each List.Last(Text.Split(Text.Split([str],"</span>"){1},">"))),
#"Added Custom7" = Table.AddColumn(#"Added Custom6", "ChangeYr", each Text.Replace(List.Last(Text.Split([str],"</span>")),"</p>","")),
#"Removed Columns1" = Table.RemoveColumns(#"Added Custom7",{"str"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns1",{{"Heading", type text}, {"Date", type date}, {"Value", type text}, {"IndicatorWk", type text}, {"ChangeWk", type text}, {"IndicatorYr", type text}, {"ChangeYr", type text}})
in
#"Changed Type"