Skip to content

Instantly share code, notes, and snippets.

@mbolli
Last active April 19, 2023 11:41
Show Gist options
  • Save mbolli/cadfa79fd026e205b8b05716068ff19c to your computer and use it in GitHub Desktop.
Save mbolli/cadfa79fd026e205b8b05716068ff19c to your computer and use it in GitHub Desktop.
Get autoscout24.ch favourites as csv
// This script works on the following page: https://www.autoscout24.ch/de/member/favorites/
// Paste into excel or similar to do further processing
const merkliste = [];
const cars = document.querySelectorAll('article.vehicle-card');
cars.forEach((car, i) => {
const name = car.querySelector(".vehicle-info > .text-body > div:nth-child(1) .font-weight-bold.text").innerHTML;
let year = car.querySelector(".vehicle-info span.vehicle-tech-spec:nth-child(1)")?.innerHTML;
let km = car.querySelector(".vehicle-info > .text-body span.vehicle-tech-spec:nth-child(2)")?.innerHTML;
let hp = car.querySelector(".vehicle-info > .text-body span.vehicle-tech-spec:nth-child(3)")?.innerHTML;
let fuel = car.querySelector(".vehicle-info > .text-body span.vehicle-tech-spec:nth-child(4)")?.innerHTML;
let tm = car.querySelector(".vehicle-info > .text-body span.vehicle-tech-spec:nth-child(5)")?.innerHTML;
let price = car.querySelector(".vehicle-prices > span")?.innerHTML;
// clean up
year = '01.' + year;
km = km.replace("'", '').replace(' km', '');
hp = hp.replace(' PS', '');
price = price.replace('CHF ', '').replace("'", '').replace('.–', '');
merkliste.push({
name, km, price, year, hp, fuel, tm
});
});
const csvLines = merkliste.map(car => Object.values(car).join("\t"));
const csv = csvLines.join("\n");
console.log(Object.keys(merkliste[0]).join("\t"))
console.log(csv);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment