From 22bd4c9d10e3b89562a4ef56f2d6e9ac47b3359d Mon Sep 17 00:00:00 2001 From: olari Date: Mon, 6 May 2019 19:52:58 +0300 Subject: [PATCH] Add get_beatmaps.py --- python/get_beatmaps.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 python/get_beatmaps.py diff --git a/python/get_beatmaps.py b/python/get_beatmaps.py new file mode 100644 index 0000000..8c50604 --- /dev/null +++ b/python/get_beatmaps.py @@ -0,0 +1,34 @@ +import sys + +from selenium import webdriver + +def login(driver, username, password): + driver.get("https://osu.ppy.sh/forum/ucp.php?mode=login") + driver.find_element_by_name("username").send_keys(username) + driver.find_element_by_name("password").send_keys(password) + driver.find_element_by_name("login").click() + +def main(argv): + if len(argv) < 5: + print("Usage: {} [USERNAME] [PASSWORD] [SEARCH PARAMS] [NUM PAGES]".format(argv[0])) + return + + username = argv[1] + password = argv[2] + + search_params = argv[3].strip('"') + num_pages = int(argv[4]) + + with webdriver.Firefox() as driver: + login(driver, username, password) + + for page_nr in range(1, num_pages + 1): + if page_nr == 0: + continue + + driver.get("https://old.ppy.sh/p/beatmaplist?{}&page={}".format(search_params, page_nr)) + for beatmap_elem in driver.find_elements_by_class_name("beatmap"): + print(beatmap_elem.get_property("id")) + +if __name__ == "__main__": + main(sys.argv)