Skip to content

Instantly share code, notes, and snippets.

@teknikqa
Created May 7, 2017 06:38
Show Gist options
  • Save teknikqa/f14fa07cf28228cb2dfe49a0caab8e70 to your computer and use it in GitHub Desktop.
Save teknikqa/f14fa07cf28228cb2dfe49a0caab8e70 to your computer and use it in GitHub Desktop.
Bulk delete Last.FM scrobbles & loved tracks
// On the Last.FM website go to the page which lists the tracks that you have loved.
// Open Chrome DevTools (or Firefox or any modern browser that has a built in Javacript Console)
// and run the following command.
// This basically clicks on all the delete buttons on the page and reloads the page.
jQuery('.love-button--loved').each(function(_, b) {
b.click();
});
location.reload();
// On the Last.FM website go to the page which lists the tracks that you have scrobbled.
// Open Chrome DevTools (or Firefox or any modern browser that has a built in Javacript Console)
// and run the following command.
// This basically clicks on all the delete buttons on the page and reloads the page.
jQuery('.dropdown-menu-clickable-item').each(function(_, b) {
b.click();
});
location.reload();
@vitalygashkov
Copy link

Right now, the server has a limit on the number of requests in a certain period of time. So we have to add a delay between the removal of likes.

(async () => {
  const DELAY = 5_000;
  const likes = $$('.chartlist-love-button');
  for (const like of Array.from(likes)) {
    like.click();
    await new Promise((resolve) => setTimeout(resolve, DELAY));
  }
  location.reload();
})();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment