Skip to content

Instantly share code, notes, and snippets.

@atroche
Created April 23, 2019 09:08
Show Gist options
  • Save atroche/45404a16a7fb4b4a79dbd5df7555e15b to your computer and use it in GitHub Desktop.
Save atroche/45404a16a7fb4b4a79dbd5df7555e15b to your computer and use it in GitHub Desktop.
objEasy = div => {
const raw = [...div.querySelectorAll(".outcomeCardItems_f4kk892 > div")].map(
el => el.innerText
);
return { [raw[0]]: raw[3], [raw[1]]: raw[4], [raw[2]]: raw[5] };
};
parseHard = div => {
const rows = [...div.querySelectorAll(".outcomeCard_fqa53j6")];
return rows.map(row => [
row.querySelector("div.priceButton_f1dmic3w").innerText,
row.querySelector("span").innerText
]);
};
objHard = div =>
Object.assign(...parseHard(div).map(([key, val]) => ({ [val]: key })));
name = div => div.querySelector(".size14_f7opyze").innerText.slice(0, -6);
csvText = divs
.map(div =>
isHard(div) ? [name(div), objHard(div)] : [name(div), objEasy(div)]
)
.map(([name, data]) => [
name,
data["Coalition"],
data["Labor"],
data["Greens"] || data["Green"]
])
.map(list => list.join(","))
.join("\n");
console.log(csvText)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment