1
0
Fork 0
mirror of https://github.com/SocksPls/hltv-api synced 2025-04-29 23:23:08 +00:00
hltv-api/main.py
flannel jesus a87b1ef068 top20teams function
I'm using dictionaries because dictionaries are basically JSON already.
We can talk about this decision if you don't like it. I'm just assuming
we'll be exporting JSON at the end of this all.
2016-09-11 23:45:36 +01:00

62 lines
2.2 KiB
Python

import requests
import json
from bs4 import BeautifulSoup
def get_parsed_page(url):
return BeautifulSoup(requests.get(url).text, "lxml")
def parseint(string):
return int(''.join([x for x in string if x.isdigit()]))
def top5teams():
home = get_parsed_page("http://hltv.org/")
count = 0
teams = []
for team in home.find_all("div", {"class": "vsbox", })[:5]:
count += 1
teamname = team.find_all("div")[2].text.strip()
teams.append(teamname)
return teams
def top20teams():
page = get_parsed_page("http://www.hltv.org/ranking/teams/")
teams = page.select("div.ranking-box")
teamlist = []
for team in teams:
newteam = {'name': team.select('.ranking-teamName > a')[0].text.strip(),
'rank': parseint(team.select('.ranking-number')[0].text.strip()),
'rank-points': parseint(team.select('.ranking-teamName > span')[0].text),
'team-id': parseint(team.select('.ranking-delta')[0].get('id')),
'team-players': []}
for player_div in team.select('.ranking-lineup > div'):
player = {}
player_anchor = player_div.select('.ranking-playerNick > a')[0]
player['name'] = player_anchor.text.strip()
player['player-id'] = parseint(player_anchor.get('href'))
newteam['team-players'].append(player)
teamlist.append(newteam)
return teamlist
def getmatches():
matches = get_parsed_page("http://www.hltv.org/matches/")
matchlist = matches.find_all("div", {"class": ["matchListBox", "matchListDateBox"]})
for match in matchlist:
if match['class'][0] == "matchListDateBox":
print("* " + match.text)
else:
try:
time = match.find("div", {"class": "matchTimeCell"}).text.strip()
team1 = match.find("div", {"class": "matchTeam1Cell"}).text.strip()
team2 = match.find("div", {"class": "matchTeam2Cell"}).text.strip()
print(time + " " + team1 + " vs " + team2)
except:
print(match.text[:7].strip(), match.text[7:-7].strip())
if __name__ == "__main__":
print(top20teams())