Add get_beatmaps.py

This commit is contained in:
2019-05-06 19:52:58 +03:00
parent 60f0f56894
commit 22bd4c9d10

34
python/get_beatmaps.py Normal file
View File

@@ -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)