Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- from bs4 import BeautifulSoup, SoupStrainer
- import json
- import matplotlib.pyplot as plt
- import time
- rank = 0
- ranking = BeautifulSoup(open("rank.html", "r", encoding="utf8").read())
- contestants = BeautifulSoup(open("contestants.html", "r", encoding="utf8").read())
- requrl = ''
- ranklist = []
- for contestant in ranking.find_all('tr', class_='user'):
- rank+=1
- contestantname = contestant.contents[5].string + ' ' + contestant.contents[7].string
- cfhandle = ''
- if contestantname=='Ekrem BAL':
- contestantname = 'Ekrem Bal'
- if contestants.find(string=contestantname)==None:
- continue
- name = contestants.find(string=contestantname).parent.parent.parent
- for att in name.find_all('a'):
- if att.has_attr('href') and 'codeforces.com' in att['href']:
- cfhandle = att['href']
- if cfhandle=='':
- continue
- cfhandle = cfhandle.split('/')[-1]
- if cfhandle=='nasic_number_one':
- cfhandle = 'NeKrasnyj'
- if cfhandle=='nikabb':
- cfhandle = 'saba2000'
- if cfhandle=='___tutis___':
- cfhandle = '__.__'
- if cfhandle=='YaDon4ick':
- cfhandle = 'YaKon4ick'
- if cfhandle=='Rudy420':
- cfhandle = 'Rudy358'
- if cfhandle=='iLoveChai':
- cfhandle = 'whipppedcream'
- if cfhandle=='reality420':
- cfhandle = 'I_Love_Tina'
- if cfhandle=='jiajunlee':
- cfhandle = '2xJelly'
- if cfhandle=='Muhanad_Alwarareh':
- cfhandle = 'Warawreh'
- if cfhandle=='NaderJemel':
- cfhandle = 'nader'
- if cfhandle=='muradeyn':
- cfhandle = 'wthIC'
- if cfhandle=='The_Pain_Inside_':
- cfhandle = 'LoveAnimeDesu'
- if cfhandle=='mraron':
- cfhandle = 'sanroylozan'
- if cfhandle=='oscarsierra12':
- cfhandle = 'oscarsierra007'
- if cfhandle=='claudy':
- cfhandle = '4everOrange'
- if cfhandle=='Mahmoud..Adel':
- cfhandle = 'BL7A.'
- if cfhandle=='arturoaureliohr':
- cfhandle = '_Shush'
- requrl+=cfhandle+';'
- ranklist.append(rank)
- print(requrl[0:-1])
- r = requests.get('https://codeforces.com/api/user.info?handles='+requrl[0:-1])
- print(r.content)
- r = json.loads(r.content)
- ratings = []
- for i in range(len(ranklist)):
- ratings.append(r['result'][i]['rating'])
- print(ratings)
- plt.scatter(ranklist, ratings)
- plt.ylabel('Codeforces Rating')
- plt.xlabel('IOI Rank')
- plt.axvspan(0, 28, facecolor='#D4AF37', alpha=0.5)
- plt.axvspan(28, 84, facecolor='#C0C0C0', alpha=0.5)
- plt.axvspan(84, 164, facecolor='#CD7F32', alpha=0.5)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement