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
Visualização de dados do TaxiGov.

Visualização de dados do TaxiGov Este repositório apresenta uma visualização das corridas de táxi do programa TaxiGov do governo federal, realizadas n

Ministério da Economia do Brasil 5 Dec 20, 2022
Converts a text file of songs to a playlist on your Spotify account.

Playlist Converter Convert a text file of songs to a playlist on your Spotify account. Create your playlists faster instead of manually searching for

Priya Aggarwal 18 Dec 21, 2022
A Python Script to scan through an Instagram account to find all the followers and followings.

Instagram Followers Scan A Python Script to scan through an Instagram account to find all the followers and followings. You can also get filtered list

Nityasmit Mallick 6 Oct 27, 2022
🎄 JustaGrabber - A discord token grabber written in python3

🎄 JustaGrabber - A discord token grabber written in python3 🎇 Made by kldiscord https://github.com/kldiscord 🌟 Please leave a star if you liked Jus

1 Dec 19, 2022
Connects to a local SenseCap M1 Helium Hotspot and pulls API Data.

sensecap_api_checker_HELIUM Connects to a local SenseCap M1 Helium Hotspot and pulls API Data.

Lorentz Factr 1 Nov 03, 2021
TikTok 4L and 4C checker that doesn't count banned usernames as available

TikTok 4L and 4C checker that doesn't count banned usernames as available. Once a username is available, it will send it to your Discord Webhook.

cliphd 26 May 01, 2022
A delightful and complete interface to GitHub's amazing API

ghapi A delightful and complete interface to GitHub's amazing API ghapi provides 100% always-updated coverage of the entire GitHub API. Because we aut

fast.ai 428 Jan 08, 2023
Transcript-Extractor-Bot - Yet another Telegram Voice Recognition bot but using vosk and supports 20+ languages

transcript extractor Yet another Telegram Voice Recognition bot but using vosk a

6 Oct 21, 2022
Tiktok-bot - A Simple Tiktok bot With Python

Install the requirements pip install selenium pip install pyfiglet==0.7.5 How ca

Muchlis Faroqi 5 Aug 23, 2022
A discord.py extension for sending, receiving and handling ui interactions in discord

discord-ui A discord.py extension for using discord ui/interaction features pip package ▪ read the docs ▪ examples Introduction This is a discord.py u

34 Dec 29, 2022
A Python library for inserting an reverse shell attached to Telegram in any Python application.

py tel reverse shell the reverse shell in your telgram! What is this? This program is a Python library that you can use to put an inverted shell conne

Torham 12 Dec 28, 2022
Ini Hanya Shortcut Untuk Menambahkan Kunci Tambahan Pada Termux & Membantu Para Nub Yang Decode Script Orang:v

Ini Hanya Shortcut Untuk Menambahkan Kunci Tambahan Pada Termux & Membantu Para Nub Yang Decode Script Orang:v

Lord_Ammar 1 Jan 23, 2022
基于nonebot2的twitter推送插件

HanayoriBot(Twitter插件) ✨ 基于NoneBot2的Twitter推送插件,自带百度翻译接口 ✨ 简介 本插件基于NoneBot2与go-cqhttp,可以及时将Twitter用户的最新推文推送至群聊,并且自带基于百度翻译的推文翻译接口,及时跟进你所关注的Vtuber的外网动态。

鹿乃まほろ / Mahoro Kano 16 Feb 12, 2022
GitHub Usage Report

github-analytics from github_analytics import analyze pr_analysis = analyze.PRAnalyzer( "organization/repo", "organization", "team-name",

Shrivu Shankar 1 Oct 26, 2021
A module to get data about anime characters, news, info, lyrics and more.

Animec A module to get data about anime characters, news, info, lyrics and more. The module scrapes myanimelist to parse requested data. If you wish t

DriftAsimov 31 Aug 31, 2022
Offline reverse geocoder in Python using sqlite3

rgeocode Offline reverse geocoder rgeocode accepts a geographic coordinate pair (latitude and longitude) and returns a list containing the name of: A

Venkat 7 Dec 01, 2021
This is the Best Calculator Bot!

CalculatorBot This is the Best Calculator Bot! Deploy on Heroku Variables API_HASH Your API Hash from my.telegram.org API_ID Your API ID from my.teleg

2 Dec 04, 2021
A python telegram bot to fetch the details of an ipadress with help of ip-api

ipfetcher A python(Pyrogram) oriented telegram bot to fetch the details of an ipadress developed by @riz4d with the API of https://ip-api.com Deployme

Mohamed Rizad 5 Mar 12, 2022
A python based all-in-one tool for Google Drive

gdrive-tools A python based all-in-one tool for Google Drive Uses For Gdrive-Tools ✓ generate SA ✓ Add the SA and Add them to TD automatically ✓ Gener

XcodersHub 32 Feb 09, 2022
This is to notify you via Discord whenever there is a new beacon.

BeaconNotifier-Discord This is to notify you via Discord whenever there is a new beacon. Make sure you have python3 installed Steps: Create a Discord

26 Dec 28, 2022