diff --git a/bash/get_beatmaps.sh b/bash/get_beatmaps.sh new file mode 100644 index 0000000..bef8482 --- /dev/null +++ b/bash/get_beatmaps.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +USERNAME="" +PASSWORD="" + +COOKIES_FILE="cookies.txt" +OUTPUT_FILE="data.json" +PAGES_DIRECTORY="pages" + +LOGIN_URL="https://osu.ppy.sh/forum/ucp.php?mode=login" +LOGIN_DATA="username=$USERNAME&password=$PASSWORD&login=login" + +PAGE_URL="https://osu.ppy.sh/p/beatmaplist?m=3&r=0&page=" +NR_PAGES=5 + +rm $COOKIES_FILE +rm $OUTPUT_FILE +rm -rf $PAGES_DIRECTORY + +wget --save-cookies $COOKIES_FILE --keep-session-cookies --delete-after --post-data $LOGIN_DATA $LOGIN_URL +seq $NR_PAGES | parallel "wget -P $PAGES_DIRECTORY --load-cookies $COOKIES_FILE '$PAGE_URL{}'" + +cat pages/* | pup 'script#json-beatmaps text{}' | sed '/^\s*$/d' | sed 's/$/,/' | sed '1s/^/\[ /' | sed '$s/,$/\]/' > $OUTPUT_FILE +