Skip to content

Instantly share code, notes, and snippets.

@randompast
Last active April 19, 2018 00:18
Show Gist options
  • Save randompast/3b8e5593ea3bbe945725eeab07e1086b to your computer and use it in GitHub Desktop.
Save randompast/3b8e5593ea3bbe945725eeab07e1086b to your computer and use it in GitHub Desktop.
Grabbing / plotting data from cars.com
//cars.com
//https://twitter.com/randompast/status/986749286208634881
// gnuplot -p PLOTFILEBELOW
// set palette defined (2012 "#ffff00", 2013 "#ff0000", 2014 "#ff00ff", 2015 "#00ff00", 2016 "#00ffff", 2017 "#0000ff", 2018 "#aaffaa")
// set xlabel "mileage"
// set ylabel "price"
// set xrange [0:250000]
// plot "corolla.csv" u 3:2:1 w p lc palette
var getYear = function(c){
var info = c.getElementsByClassName("listing-row__title")[0]
var text = info.innerHTML
var year = /\d{4}/
return text.match(year)[0]
}
var getPrice = function(c){
var info = c.getElementsByClassName("listing-row__price")[0]
var text = info.innerHTML
var price = /\$\d*\,\d*/
var dollars = text.match(price)[0]
return dollars.split(",").join("").slice(1)
}
var getMileage = function(c){
try{
var info = c.getElementsByClassName("listing-row__mileage")[0]
var text = info.innerHTML
return text.split(" ")[0].split(",").join("")
}catch(e){
return "unknown"
}
}
var makeRow = function(c){
return [getYear(c), getPrice(c), getMileage(c)]
}
var listAll = function(){
var l = document.getElementsByClassName("listing-row__details-inner")
var arr = []
for (var i = 0; i < l.length; i++) {
var row = makeRow(l[i])
if(row[2] != "unknown")
arr[i] = row
// console.log(i, arr[i].join(", "))
}
console.log(arr.join(" X "))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment