Last active
April 26, 2020 20:36
-
-
Save anuragajwani/897a995f9566e87a4dfa4c8c3d413b3b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Run in chrome console whilst on the stats page | |
function download(filename, text) { | |
var pom = document.createElement('a'); | |
pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); | |
pom.setAttribute('download', filename); | |
if (document.createEvent) { | |
var event = document.createEvent('MouseEvents'); | |
event.initEvent('click', true, true); | |
pom.dispatchEvent(event); | |
} | |
else { | |
pom.click(); | |
} | |
} | |
function dateToString(date) { | |
return date.getDate() +'/' + (date.getMonth() + 1) + '/' + date.getFullYear(); | |
} | |
function getViewsPerDay() { | |
return Array.from(document.getElementsByClassName("bargraph-bar")) | |
.map(bar => bar.getAttribute("data-tooltip")) | |
.map((barText) => { | |
var viewsRe = /^([0-9]+)/ | |
var views = viewsRe.exec(barText)[0]; | |
var dateRe = /\w+\s([0-9]){1,2}$/ | |
var dateString = dateRe.exec(barText)[0]; | |
var dateWithCurrentYear = new Date(dateString + ' ' + new Date().getFullYear()); | |
var currentDate = new Date(); | |
if (dateWithCurrentYear > currentDate) { | |
var lastYear = new Date().getFullYear() - 1; | |
var date = dateToString(new Date(dateString + ' ' + lastYear)); | |
} else { | |
var date = dateToString(dateWithCurrentYear); | |
} | |
return { | |
views: views, | |
date: date | |
} | |
}); | |
} | |
function getViewsPerDayText() { | |
var viewsPerDay = getViewsPerDay() | |
var content = "" | |
viewsPerDay.forEach((row, i) => { | |
content += row.date + "," + row.views + "\n" | |
}); | |
return content; | |
} | |
download("medium-metrics-" + new Date().toISOString().slice(0, 10) + ".csv", getViewsPerDayText()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment