Skip to content

Instantly share code, notes, and snippets.

@Kreijstal
Last active March 10, 2019 19:08
Show Gist options
  • Save Kreijstal/6c0d140690bd53f27d8055da1032af8c to your computer and use it in GitHub Desktop.
Save Kreijstal/6c0d140690bd53f27d8055da1032af8c to your computer and use it in GitHub Desktop.
wg gescuht
function parseDate(input) {
var parts = input.match(/(\d+)/g);
// note parts[1]-1
return new Date(parts[2], parts[1] - 1, parts[0]);
}
function parse(off) {
var OmeterMoneyText = off.children[0].children[0].children[0].children[1].innerText.trim();
var Ohref = off.children[0].children[0].children[1].children[0].children[0].children[0].href;
var Otitle = off.children[0].children[0].children[1].children[0].children[0].children[0].innerText.trim();
var OavailableFrom = off.children[0].children[0].children[1].children[0].children[2].children[1].innerText.trim();
var OavailableTo = off.children[0].children[0].children[1].children[0].children[2].children[2] ? off.children[0].children[0].children[1].children[0].children[2].children[2].innerText.trim() : null;
if (OmeterMoneyText.indexOf("|") == -1 || OmeterMoneyText.indexOf("€") == -1 || OmeterMoneyText.indexOf("²") == -1) {
throw new Error("parse error " + OmeterMoneyText);
}
var squareMeters = +OmeterMoneyText.match(/\d+/)[0];
var cost = +OmeterMoneyText.match(/\|\s+(\d+)/)[1];
return {
Otitle,
Ohref,
OmeterMoneyText,
OavailableFrom,
OavailableTo,
squareMeters,
cost,
from: parseDate(OavailableFrom),
until: OavailableTo ? parseDate(OavailableTo) : null,
days: OavailableTo ? (parseDate(OavailableTo) - parseDate(OavailableFrom)) / (1000 * 60 * 60 * 24) : Infinity
}
}
function hm(nowww) {
var dad = document.createElement("div");
var href = [...nowww.getElementsByClassName("pagination pagination-sm")[0].children].pop().children[0].href;
if (!href) return;
fetch(href).then((async e => {
var a = (await e);
var b = await a.text();
dad.innerHTML = b;
item = item.concat([...dad.getElementsByClassName("offer_list_item")].map(parse));
setTimeout(e => hm(dad), 2000)
}))
}
hm(document)
var item = [];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment