forum

OsuGrabber - Automatic Map Downloader

posted
Total Posts
11
Topic Starter
DeadRoundDR

Automated script for downloading and installing recommended maps from Tillerino.

1. Download and install python 3.11.8 -> https://www.python.org/downloads
2. Download and unzip the repository -> https://github.com/methamphetaminelab/OsuGrabber
3. Download the Cookie-Editor extension
4. Go to the osu! website and copy the cookieValue from Cookie-Editor
5. Paste the cookieValue into line 15
6. Open cmd.exe in the folder with the script (Example: cmd.exe -> D: -> cd D:\x\OsuGrabber)
7. Enter pip install -r requirements.txt
8. Enter python main.py
9. Enter the desired number of maps
10. Now you can do your own thing while the script downloads and installs the maps :)

If you have any problems, write here.

Автоматический скрипт для скачивания и установки рекомендуемых карт от Тиллерино.

1. Скачайте и установите python 3.11.8 -> https://www.python.org/downloads
2. Скачайте и разархивируйте репозиторий -> https://github.com/methamphetaminelab/OsuGrabber
3. Скачайте расширение Cookie-Editor
4. Зайдите на сайт osu! и скопируйте cookieValue из Cookie-Editor
5. Вставьте cookieValue в строку 15
6. Откройте cmd.exe в папке со скриптом (Пример: cmd.exe -> D: -> cd D:\x\OsuGrabber)
7. Введите pip install -r requirements.txt
8. Введите python main.py
9. Введите нужное количество карт
10. Теперь вы можете заниматься своими делами, пока скрипт скачивает и устанавливает карты :)

Если возникнут проблемы, пишите сюда.
Wimpy Cursed
Pillerino
Ymir
inb4 moved
xch00F
nah I don't think I'll be downloading random russian code from an anime message board but thank you for posting
Winnyace

xch00F wrote:

nah I don't think I'll be downloading random russian code from an anime message board but thank you for posting
They posted the script itself without any obfuscation. You can check the code and see if something is sus yourself. Will it be worth it? Probably not because the script itself is pretty useless once you know that there is a thread with every single ranked beatmap (or thereabouts) from a specific year, for every gamemode, but I can't fault OP for doing this as a coding project for the holidays. In fact, I give OP props for doing it and I hope they learnt something new by doing it.
xch00F
that assumes I clicked on the links which I did not
Topic Starter
DeadRoundDR

Winnyace wrote:

xch00F wrote:

nah I don't think I'll be downloading random russian code from an anime message board but thank you for posting
They posted the script itself without any obfuscation. You can check the code and see if something is sus yourself. Will it be worth it? Probably not because the script itself is pretty useless once you know that there is a thread with every single ranked beatmap (or thereabouts) from a specific year, for every gamemode, but I can't fault OP for doing this as a coding project for the holidays. In fact, I give OP props for doing it and I hope they learnt something new by doing it.
initially I planned to post another version of this script, which does not use selenium, but only requests
but I ran into a problem as it requires not only the cookie value but also the X-CSRF-Token

I was able to get it by hand, but I don’t know how to automate it, because I don’t think the average user would want to go into their browser’s request history and read the headers

And yes, I don’t think the script is in any way useful, but I suddenly got tired of writing !r by hand, so I wrote this script and decided to share it here
Winnyace
Maybe at the first run, before anything happens, you ask the user to setup the cookieValue and then you save it in a file somewhere. Every time the script wants to do something, it checks if that file exists and if it does, it reads the contains and that's where the value is.
Winnyace

xch00F wrote:

that assumes I clicked on the links which I did not
FYI, they're both safe to click on without getting anything weird.
abraker
moved from off-topic

DeadRoundDR wrote:

initially I planned to post another version of this script, which does not use selenium, but only requests
but I ran into a problem as it requires not only the cookie value but also the X-CSRF-Token
X-CSRF-Token is generated upon successful login. It used to be possible to automate the login process but not anymore due to cloudfare shenanigans.

Try using the GET api/v2/beatmapsets/{beatmapset}/download osu!apiv2 route
docs/index.html#get-apiv2beatmapsetsbeatmapsetdownload

edit: Just noticed it's lazer only endpoint
Unfortunately I am not aware of other ways to auto download maps
I doubt that it would be desired to provide support for such either because automatic mass downloading can put a strain on the osu servers
Topic Starter
DeadRoundDR

abraker wrote:

moved from off-topic

DeadRoundDR wrote:

initially I planned to post another version of this script, which does not use selenium, but only requests
but I ran into a problem as it requires not only the cookie value but also the X-CSRF-Token
X-CSRF-Token is generated upon successful login. It used to be possible to automate the login process but not anymore due to cloudfare shenanigans.

Try using the GET api/v2/beatmapsets/{beatmapset}/download osu!apiv2 route
docs/index.html#get-apiv2beatmapsetsbeatmapsetdownload

edit: Just noticed it's lazer only endpoint
Unfortunately I am not aware of other ways to auto download maps
I doubt that it would be desired to provide support for such either because automatic mass downloading can put a strain on the osu servers
That's the point, I want to do it without an api :)

Winnyace wrote:

xch00F wrote:

that assumes I clicked on the links which I did not
FYI, they're both safe to click on without getting anything weird.
Okay, I'll think about it.
Please sign in to reply.

New reply