Mass-unscrobble Last.fm scrobbles based on artist, track title, or time of day of the scrobble.

Overview

License: GPL v3

Unscrobbler

This program is designed to mass-unscrobble Last.fm scrobbles based on artist, track title, or time of day of the scrobble.

For example, if you want to delete all the scrobbles by the artist Howard Shore between 11pm and 7am, that's exactly what this is for.

Operation

Settings

When you run the program, you'll be prompted to enter a few values.

  • Whether or not this is a trial run (if so, nothing will be deleted)
  • Whether or not to delete based on time of day
    • The earliest hour to delete (will delete after this, inclusive)
    • The latest hour to delete (will delete before this, inclusive [if set to 20, will include 20:12])
    • So, everything between these two hours (that matches the rest of the criteria) will be deleted.
  • Whether or not to delete based on the year
    • The year to delete (will delete with this year)
  • Username
  • Password
    • Your username/password are only used locally in this program. They're inputted into the Last.fm login form, and that's the only way they're shared.
  • Last.fm library page number to start at (default 0)

Output

When run, the program will generate an output file detailing each track it deletes. These files are found in ./output/. Trial runs are denoted with (trial).

Stopping

To stop it, spam Ctrl+C in the terminal or close the browser window.

Trial Runs

Instead of blindly trusting this to do what you want it to do properly, you can run it in trial mode and it won't delete anything. When you run it, just enter Y for Trial Mode.

Trial runs will still output results to ./output/, so they're useful to see what it will end up deleting and maybe tweak your settings.

Installation

Unscrobbler.py

  1. Download/install Python 3.

  2. Download Unscrobbler (the Source code (zip)).

  3. Unzip the folder. Inside the main folder (where Unscrobbler.py is located), open a command-line terminal. Run the following command to install dependencies: pip3 install -r requirements.txt.

  4. Edit lines 17-18 of Unscrobbler.py in a text editor for your purposes. Example:

    delete_artists = ["Artist One", "Artist Two", "Also an Artist"]
    delete_songs = []
    
    delete_artists = []
    delete_songs = ["Bangarang"]
    

    Note that capitalization is importantโ€”if what you put in isn't perfect, it won't match what shows up on Last.fm.

  5. Now, you can run Unscrobbler with the command python Unscrobbler.py or similar.

Geckodriver

  1. Download the relevant Geckodriver from here: https://github.com/mozilla/geckodriver/releases

  2. Unzip the downloaded file and place the contained .exe file in the same directory as Unscrobbler.py.

You might also like...
Telegram bot that search for the classrooms status of the chosen day and then return all the free classrooms using your preferred time slot
Telegram bot that search for the classrooms status of the chosen day and then return all the free classrooms using your preferred time slot

Aule Libere Polimi Since the PoliMi site no longer allows people to search for free classrooms this bot was necessary! It simply search for the classr

This is Pdisk Upload Bot made using Python with Pyrogram Framework. Its capable of uploading direct download link with thumbnail or without thumbnail & with Title Support.

Pdisk-Upload-Bot Introduction This Is PDisk Upload Bot Used To Upload Direct Link To Pdisk With Thumb Support Deploy Heroku Deploy Local Deploy pip in

Battle.net and PlayStation title watcher that reports updates via Discord.
Battle.net and PlayStation title watcher that reports updates via Discord.

Renovate Renovate is a Battle.net and PlayStation title watcher that reports updates via Discord. Usage Open config_example.json and provide the confi

A simple script that can be used to track real time that user was online in telegram

TG_OnlineTracker A simple script that can be used to track real time that user was online in telegram Join @DaisySupport_Official ๐ŸŽต for help ๐Ÿƒโ€โ™‚๏ธ Ea

Official python API for Phish.AI public and private API to detect zero-day phishing websites

phish-ai-api Summary Official python API for Phish.AI public and private API to detect zero-day phishing websites How it Works (TLDR) Essentially we h

Mini Tool to lovers of debe from eksisozluk (one of the most famous website -reffered as collaborative dictionary like reddit- in Turkey) for pushing debe (Most Liked Entries of Yesterday) to kindle every day via Github Actions.

debe to kindle Mini Tool to lovers of debe from eksisozluk (one of the most famous website -refered as collaborative dictionary like reddit- in Turkey

An iCal file to transport you to a new place every day until you die
An iCal file to transport you to a new place every day until you die

everydayvirtualvacation An iCal file to transport you to a new place every day until you die The library is closed ๐Ÿ˜” ๐Ÿ˜” including a video of the plac

Weather_besac is a French twitter bot that tweet the weather of the city of Besanรงon in Franche-Comtรฉ in France every day at 8am and 4pm.

Weather Bot Besac Weather_besac is a French twitter bot that tweet the weather of the city of Besanรงon in Franche-Comtรฉ in France every day at 8am and

Signs the target email up to over 1000 different mailing lists to get spammed each day.

Email Bomber Say goodbye to that email Features Signs up to over 1k different mailing lists Written in python so the program is lightweight Easy to us

Comments
  • selenium exception during last.fm login

    selenium exception during last.fm login

    Unfortunately I get the following error:

    Launching Firefox
    Traceback (most recent call last):
      File "/Users/eric/dev/Unscrobbler/./Unscrobbler.py", line 136, in <module>
        driver.find_element(by = By.CSS_SELECTOR, value = "button[name='submit']").click()
      File "/Users/eric/.venv/unscrobbler/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py", line 81, in click
        self._execute(Command.CLICK_ELEMENT)
      File "/Users/eric/.venv/unscrobbler/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py", line 710, in _execute
        return self._parent.execute(command, params)
      File "/Users/eric/.venv/unscrobbler/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 424, in execute
        self.error_handler.check_response(response)
      File "/Users/eric/.venv/unscrobbler/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 247, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.ElementClickInterceptedException: Message: Element <button class="btn-primary" name="submit" type="submit"> is not clickable at point (497,443) because another element <div class="onetrust-pc-dark-filter ot-fade-in"> obscures it
    Stacktrace:
    [email protected]://remote/content/shared/webdriver/Errors.jsm:183:5
    [email protected]://remote/content/shared/webdriver/Errors.jsm:282:5
    [email protected]://remote/content/marionette/interaction.js:166:11
    [email protected]://remote/content/marionette/interaction.js:125:11
    [email protected]://remote/content/marionette/actors/MarionetteCommandsChild.jsm:203:24
    [email protected]://remote/content/marionette/actors/MarionetteCommandsChild.jsm:91:31
    
    opened by eriwst 5
Releases(v1.0.1)
Owner
Nathan
I've got some experience in Java and Python. I don't make anything too impressive, but it sure is fun!
Nathan
A link shortner telegram bot version 2 with advanced features

URL-Shortner-Bot-V2 A link shortner telegram bot version 2 with advanced features Made with Python3 (C) @FayasNoushad Copyright permission under MIT L

Fayas Noushad 18 Dec 29, 2022
Allows you to easily share bookmarks from Raindrop.io in Telegram chats.

Allows you to easily share bookmarks from Raindrop.io in Telegram chats. As well as save links/photos/longreads from Telegram right into Raindrop.io. Join us, we have a nice 'reader mode' :)

Oleh 36 Dec 19, 2022
Creating a Python API, for the MakeMyTrip Flight Schedules.

MakeMyTripAPI Creating a Python API, for the MakeMyTrip Flight Schedules. Source: MakeMyTrip is an Indian online travel company founded in 2000. Headq

Aman Priyanshu 0 Jan 12, 2022
a simple python script that monitors the binance hotwallet and refunds the withdrawal fee to encourage people to withdraw their Nano and help decentralisation

Nano_Binance_Refund_Bot a simple python script that monitors the binance hotwallet and refunds the withdrawal fee to encourage people to withdraw thei

James Coxon 5 Apr 07, 2022
Collect links to profiles by username through search engines

Marple Summary Collect links to profiles by username through search engines (currently Google and DuckDuckGo). Quick Start ./marple.py soxoj Results:

125 Dec 19, 2022
A telegram bot script for generating session string using pyrogram and telethon on Telegram bot

String-session-Bot Telegram Bot to generate Pyrogram and Telethon String Session. A star โญ from you means a lot to us! Usage Deploy to Heroku Tap on a

Wahyusaputra 8 Oct 28, 2022
An advanced telegram language translator bot

Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/FayasNoushad/Translator-Bot-V3/blob/main/LICE

Fayas Noushad 19 Dec 24, 2022
Automatically gets clips from twitch streams and uploads them to a YouTube channel.

Twitch Stream Highlights to YT Automatic Uploader (AutoBot Clipper) This script can be used to automatically extract highlights (or clips) from a twit

Teja Swaroop 57 Dec 12, 2022
Kanata Bot - a modular bot running on python3 with anime theme and have a lot features

Kanata Bot Kanata Bot is a modular bot running on python3 with anime theme and have a lot features. Easiest Way To Deploy On Heroku This Bot is Create

Rikka-Chan 2 Jan 16, 2022
A simple Discord bot that can fetch definitions and post them in chat.

A simple Discord bot that can fetch definitions and post them in chat. If you are connected to a voice channel, the bot will also read out the definition to you.

Tycho Bellers 4 Sep 29, 2022
You cant check for conflicts until course enrolment actually opens. I wanted to do it earlier.

AcornICS I noticed that Acorn it does not let you check if a timetable is valid based on the enrollment cart, it also does not let you visualize it ea

Isidor Kaplan 2 Sep 16, 2021
Confirm that files have been uploaded to Backblaze Cloud Backup successfully

Backblaze Backup Checker This Python script compares metadata captured from files within source folders against data parsed from Backblaze Cloud Backu

18 Jul 29, 2022
Simulaciรณn con el mรฉtodo de Montecarlo para verificar ganancias con mรกrgenes negativos.

Apliaciรณn del mรฉtodo Monte Carlo a un ejemplo que incluye mรกrgenes negativos. Por Marco A. de la Cruz Importante La informaciรณn contenida en este ejem

1 Jan 17, 2022
A Telegram Most Powerful Media Info Bot.

Media Info Bot Support ๐Ÿš‘ Demo For The Bot -Test Our Bot By Clicking The Button Below Deploy To Heroku ๐Ÿ—ณ Press the Deploy Button to Get Your Own Bot.

Anonymous 5 May 16, 2022
BSDotPy, A module to get a bombsquad player's account data.

BSDotPy BSDotPy, A module to get a bombsquad player's account data from bombsquad's servers. Badges Provided By: shields.io Acknowledgements Issues Pu

Rudransh Joshi 3 Feb 17, 2022
An opensource chat service that cares about your privacy.

An opensource chat service that cares about your privacy. Instructions to set up a local testing environment: 1) Clone this repository and navigate to

Aiman Al Masoud 2 Dec 03, 2022
Read manga from your favourites websites on telegram.

tg-manga-bot Read manga from your favourites websites on telegram. Current Development Bot @idkpythonbot Telegram Channel tg_manga_bot Commands start

Daniel Rivero 41 Dec 22, 2022
Snipe fair coin launches. Contact @dannsniper on telegram for whitelist

Pancakeswap-sniper Pancakeswap Sniper bot Full version of Pancakeswap sniping bot used to snipe during fair coin launches. With advanced options and a

36 Nov 01, 2021
High-Resolution Differential Z-Belt Mod for V0 (with optional Kirigami support)

V0-DBM This is a high-resolution differential pulley system belt mod for the Z-axis on Voron 0 with optional Kirigami Bed support. NOTE: Alpha version

Simon Kรผppers 11 Jan 07, 2023