#!/usr/bin/env python3 # -*- coding: utf-8 -*- 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)