35 lines
1.1 KiB
Python
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)
|