// based entirely on this blog post: | |
// http://druss.co/2016/04/export-all-workouts-from-sports-tracker/ | |
// unfortunately the original script no longer works, moslty because jQuery is | |
// no longer available on sports-tracker pages. | |
// | |
// I've compiled the changes proposed in the comments in the script below. | |
// to use the script, login to your sports-tracker account | |
// change URL to http://www.sports-tracker.com/diary/workout-list | |
// open browser console (Cmd-Shift-I) | |
// paste the script, hit enter - it'll run and print something like this to the cosole: | |
// curl -o SportsTracker-<..id..>.gpx "http://www.sports-tracker.com/apiserver....." | |
// right-click on the colsole and save the contents to a file, call it download-all-workouts.sh | |
// open terminal, change to the directory where you saved the contents of the console | |
// edit the file - remove the javascript at the beginning of the file leaving only curl commands | |
// fix permissions: | |
// $>chmod +x download-all-workouts.sh | |
// run the script: | |
// $>./download-all-workouts.sh | |
var key = "sessionkey="; | |
var valueStartIndex = document.cookie.indexOf(key) + key.length; | |
var token = document.cookie.substring(valueStartIndex, document.cookie.indexOf(';', valueStartIndex)); | |
function downloadOne(item) { | |
var href = item.href; | |
var id = href.substr(href.lastIndexOf('/') + 1, 24); | |
var url = 'http://www.sports-tracker.com/apiserver/v1/workout/exportGpx/' + id + '?token=' + token; | |
var filename = 'SportsTracker-' + id + '.gpx'; | |
console.log('curl -o ' + filename + ' "' + url + '";sleep 2'); | |
} | |
function loopThroughItems(items) | |
{ | |
var i = 0; | |
for (i = 0; i < items.length; i++) { | |
downloadOne(items[i]); | |
} | |
} | |
var items = document.querySelectorAll("ul.diary-list__workouts li a"); | |
document.body.innerHtml = ''; | |
loopThroughItems(items); |
This comment has been minimized.
This comment has been minimized.
Have a look at the original for usage instructions (https://gist.github.com/anonymous/9abc8d9c376bbc6aa853b477a50e8932), and then maybe use my updated gist (https://gist.github.com/rjvdboon/54b9bbb8c56471fd864c00422b92a722) which fixes some problems |
This comment has been minimized.
This comment has been minimized.
Works fine, only if change the API url to And be also take care of pagination, you need to expand all workout in the list page to get all workouts id. |
This comment has been minimized.
This comment has been minimized.
Thank you very much for this useful process! Some tricks for some newbies (like me):
|
This comment has been minimized.
This comment has been minimized.
How can we get the "description" field ? |
This comment has been minimized.
This comment has been minimized.
Btw. you can get At least for me, |
This comment has been minimized.
This comment has been minimized.
I must edit curl command with L param like this |
This comment has been minimized.
This comment has been minimized.
Some updates:
On that matter, I forked the code here to include these two updates. |
This comment has been minimized.
This comment has been minimized.
That was the problem I was having. Thanks @adamjak |
This comment has been minimized.
This comment has been minimized.
Tks @KonstantinosSykas the update URL. |
This comment has been minimized.
This comment has been minimized.
I fixed some bugs and added activity images downloading: |
This comment has been minimized.
This comment has been minimized.
https://docs.microsoft.com/de-de/windows/wsl/install-win10 |
This comment has been minimized.
The "Download-all-workouts.sh" is Linux, right? Anyone knows of a way to do this in Windows? Found/tried a utility called STExport.exe and can't get it to work.... I'm out of options....