clone linux-compat
instead if you're on linux.
Pull songs from Most Played Beatmaps
section of any osu player profile, given their player IDs.
Requires Python 3.11 and above
- Install Poetry (visit their website).
https://python-poetry.org/docs/#installation
- Clone this repo.
git clone https://github.com/hkohko/osu-song-history.git
- Install dependencies.
cd osu-song-history
poetry install
Uses SQLite3
- Double click
./run_scrape.py
ID
is the player's id.
start
and stop
refers to the number of Most Played Beatmaps
displayed on the profile.
If Store JSON to Database
is checked, the program will :
- Download the
JSON
files - Parse the
JSON
files and store ONLY:- Artist
- Title
- Preview
- Source
Otherwise, it only downloads and store the raw JSON files. They also do not show up in view GUI.
Based on the information above, a straightforward way is to simply type in:
Each .json
files contain a maximum of 100 songs. They are stored in scrape_osu_songs/songs/<user_id>/
.
As the path suggests, each ID
has its own folder containing the .json
files.
a simple GUI is provided to view and query the data.
- Double click
./run_view.py
Reads from the database.
- Type in the
artist
,title
orsource
(where the song originates from, e.g. SOUND VOLTEX) inside the input field. - Choose what you want to search for:
Artist
,Title
, orSource
- Choose by what you want to sort the data with:
Artist
orTitle
. - Press
Search
or simplyEnter
.
The words are kinda weird but let me explain.
Based on the image above:
From the database, show me data where the artist column contains keywords like 'miku'.
By default, the program will search by keywords you type in, hence 'like'.
However, if the Exact?
box is checked, it will only show you exact matches.
Sort by
choices are pretty straightforward, sort by either Artist
or Title
.
Clear
simply clears the input field.
You can right-click on any entry, gives you (currently) 1 handy option, Preview
.
Preview
simply opens the browser and gives you a 10 second sample of the song.
It is similar to previewing the song on osu website itself.
There are different things being planned here. One obvious option is to simply bring you to YouTube where you can listen to the song.
We'll see.