1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import os
import sys
import nflgame
import fireleague_config
def fireleague_login(browser):
browser.get('http://fireleague.com/index.php/login')
print 'received login page'
time.sleep(2.0)
username = browser.find_element_by_name('username')
#username.send_keys('XXXXXXXXXXXX')
username.send_keys(fireleague_config.username)
password = browser.find_element_by_name('password')
#password.send_keys('XXXXXX'+Keys.RETURN)
password.send_keys(fireleague_config.password+Keys.RETURN)
for i in range(10):
time.sleep(1.0)
print '.',
print '.'
return browser
def download_teams(browser, period, teams, filepath):
url_beg = 'http://football.fireleague.com/user/teams/'
url_mid = '/lineup?period=71'
i = 1
for each in teams:
time.sleep(2.0)
url = '%s%s%s%02d' % (url_beg, each, url_mid, period)
print '%s of %s: %s' % (i, len(teams), url)
team_filename = '%s-week%02d.html' % (each, period)
browser.get(url)
all_html = browser.page_source.encode('ascii', 'ignore')
with open(os.path.join(filepath, team_filename), 'wb') as x:
x.write(all_html)
i += 1
return browser
def dict_to_list(key, value):
result = []
result.append(key)
for each in value:
result.append(each)
return result
def convert_to_good_format(name, team, position):
#Edge cases first
big_team = team.upper()
if position == 'DEF':
return big_team
if name == 'Robert Griffin III' and big_team == 'WAS':
return 'R.Griffin, WAS'
if name == 'Jacquizz Rodgers' and big_team == 'ATL':
return 'Jz.Rodgers, ATL'
if name == 'James Jones' and big_team == 'GB':
return 'Ja.Jones, GB'
if name == 'Drew Davis' and big_team == 'ATL':
return 'DJ.Davis, ATL'
if name == 'Cecil Shorts III' and big_team == 'JAC':
return 'C.Shorts, JAC'
if name == 'DeAngelo Williams' and big_team == 'CAR':
return 'De.Williams, CAR'
else:
space_marker = name.find(' ')
new_name = name[0]+'.'+name[space_marker+1:]+', '+big_team
return new_name
if __name__ == "__main__":
# By default go with current season and week...
year, period = nflgame.live.current_year_and_week()
# ...But if any command line arguments are present, those will overwrite
if len(sys.argv) > 1:
try:
year = int(sys.argv[1])
except IndexError:
year = nflgame.live.current_year_and_week()[0]
try:
period = int(sys.argv[2])
except IndexError:
period = nflgame.live.current_year_and_week()[1]
print 'Downloading Fireleague rosters for %s week %s' % (year, period)
teams = fireleague_config.teams
filepath = os.path.dirname(os.path.abspath(__file__))
# Get local session of firefox
browser = webdriver.Chrome(
executable_path=os.path.join(filepath, 'chromedriver.exe'))
print 'Browser opened...'
browser = fireleague_login(browser)
print 'Logged into Fireleague.com...'
browser = download_teams(browser, period, teams, filepath)
browser.close()