Files
scripts/python/get_beatmaps.py
2019-05-06 19:52:58 +03:00

35 lines
1.1 KiB
Python

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)