added first rough version
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.venv
|
||||||
31
getStats.py
Normal file
31
getStats.py
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
from urllib.request import urlopen
|
||||||
|
from bs4 import BeautifulSoup
|
||||||
|
from pytimeparse import parse
|
||||||
|
from matplotlib import pyplot as plt
|
||||||
|
|
||||||
|
url = "https://pwning.sec.in.tum.de/scoreboard/"
|
||||||
|
|
||||||
|
page = urlopen(url)
|
||||||
|
|
||||||
|
content = BeautifulSoup(page.read().decode(), 'html.parser')
|
||||||
|
|
||||||
|
teams = content.find_all("a", class_="link-underline link-underline-opacity-0 link-underline-opacity-100-hover", title=True)
|
||||||
|
names = [team.get_text() for team in teams]
|
||||||
|
times_with_points = [team['title'] for team in teams]
|
||||||
|
times = [parse(time_with_points.split('/')[0].strip()) / 3600 for time_with_points in times_with_points]
|
||||||
|
points = [int(time_with_points.split('/')[1].strip()) for time_with_points in times_with_points]
|
||||||
|
# filter out teams with no time entry
|
||||||
|
times = [time for time in times if time > 0]
|
||||||
|
points = points[0:len(times)]
|
||||||
|
names = names[0:len(times)]
|
||||||
|
|
||||||
|
fig, ax = plt.subplots()
|
||||||
|
|
||||||
|
ax.plot(names, times, 'o-', label='Binex Times')
|
||||||
|
# Annotate each data point with its x-axis value
|
||||||
|
for x, y in zip(names, times):
|
||||||
|
ax.annotate(f'{x}', (x, y), textcoords="offset points", xytext=(0,10), ha='center')
|
||||||
|
|
||||||
|
ax.legend()
|
||||||
|
|
||||||
|
plt.show()
|
||||||
15
requirements.txt
Normal file
15
requirements.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
beautifulsoup4==4.12.2
|
||||||
|
bs4==0.0.1
|
||||||
|
contourpy==1.2.0
|
||||||
|
cycler==0.12.1
|
||||||
|
fonttools==4.45.1
|
||||||
|
kiwisolver==1.4.5
|
||||||
|
matplotlib==3.8.2
|
||||||
|
numpy==1.26.2
|
||||||
|
packaging==23.2
|
||||||
|
Pillow==10.1.0
|
||||||
|
pyparsing==3.1.1
|
||||||
|
python-dateutil==2.8.2
|
||||||
|
pytimeparse==1.1.8
|
||||||
|
six==1.16.0
|
||||||
|
soupsieve==2.5
|
||||||
Reference in New Issue
Block a user