Skip to content
Snippets Groups Projects
Commit be7352f7 authored by Park MinSuk's avatar Park MinSuk
Browse files

기말 과제

parent d056d4ef
Branches
No related tags found
No related merge requests found
sw.py 0 → 100644
import requests
import json
from time import sleep
import csv
Ajou_student = []
pages = 3
for page in range(pages):
url = "https://solved.ac/api/v3/ranking/in_organization?organizationId=328"
page_url = f"{url}&page={page+1}"
cnt = requests.get(page_url)
Tmp_Ajou_student = json.loads(cnt.content.decode("utf-8")).get("items")
Ajou_student.extend([user.get("handle").strip() for user in Tmp_Ajou_student])
def solved_problem(user_handle): # 유저 아이디를 입력하면 유저가 푼 문제 목록을 확인해볼수있습니다.
url = f"https://solved.ac/api/v3/search/problem?query=s%40{user_handle}"
print(user_handle)
cnt = json.loads(requests.get(url).content.decode("utf-8"))
pages = (cnt.get("count") - 1) // 50 + 1
pid = []
for page in range(pages):
sleep(1)
page_url = f"{url}&page={page+1}"
cnt = json.loads(requests.get(page_url).content.decode("utf-8"))
problem_ = cnt.get("items")
for p in problem_:
pid.append(p.get("problemId"))
print(f"[{user_handle}] {page}/{pages}")
return pid
pid = {}
for user in Ajou_student[:15]:
user_problem = solved_problem(user)
print(user)
for problem in user_problem:
pid[problem] = pid.get(problem, 0) + 1
print(pid)
with open("top15_user_problem.csv", "w") as file:
writer = csv.writer(file)
for k, v in pid.items():
writer.writerow([k, v])
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment