data = {
const data = [];
for (const location of [
"colorado-springs",
"northern-california",
"southern-california",
"grand-mound",
"arizona",
"kansas-city"
]) {
const doc = await page(
`${location}/waterpark-attractions/indoor-water-park`
);
const resort = doc.title
.replace("| Great Wolf Lodge", "")
.replace(/ ?Indoor Water Park ?(in|Near|& Hotel)?/, "")
.replace("Attractions | ", "")
.replace(" Resort", "")
.trim();
for (const attraction of doc.querySelectorAll(".card-listing__item")) {
const href = attraction.querySelector("a[href]").getAttribute("href");
const title = attraction.querySelector(".card-listing__title").innerText;
const boxes = Object.fromEntries(
[...attraction.querySelectorAll(".card-listing__bottom-box--box")].map(
(d) => [
d.querySelector("img").getAttribute("alt")?.replace(" Icon", ""),
d.querySelector("span").innerText.trim().replace(" Thrill", "")
]
)
);
data.push({ resort, title, ...boxes, href });
}
}
return data;
}