def _find_rankings(self, year):
if not year:<EOL><INDENT>year = utils._find_year_for_season('<STR_LIT>')<EOL><DEDENT>page = self._pull_rankings_page(year)<EOL>if not page:<EOL><INDENT>output = ("<STR_LIT>"<EOL>"<STR_LIT>" % RANKINGS_URL)<EOL>raise ValueError(output)<EOL><DEDENT>rankings = page('<STR_LIT>').items()<EOL>weekly_rankings = []<EOL>week = <NUM_LIT:0><EOL>for team in rankings:<EOL><INDENT>if '<STR_LIT>' in str(team):<EOL><INDENT>self._rankings[int(week)] = weekly_rankings<EOL>weekly_rankings = []<EOL>continue<EOL><DEDENT>abbreviation, name = self._get_team(team)<EOL>rank = utils._parse_field(RANKINGS_SCHEME, team, '<STR_LIT>')<EOL>week = utils._parse_field(RANKINGS_SCHEME, team, '<STR_LIT>')<EOL>date = utils._parse_field(RANKINGS_SCHEME, team, '<STR_LIT:date>')<EOL>previous = utils._parse_field(RANKINGS_SCHEME, team, '<STR_LIT>')<EOL>change = utils._parse_field(RANKINGS_SCHEME, team, '<STR_LIT>')<EOL>if '<STR_LIT>' in str(team(RANKINGS_SCHEME['<STR_LIT>'])):<EOL><INDENT>change = int(change) * -<NUM_LIT:1><EOL><DEDENT>elif '<STR_LIT>' in str(team(RANKINGS_SCHEME['<STR_LIT>'])):<EOL><INDENT>try:<EOL><INDENT>change = int(change)<EOL><DEDENT>except ValueError:<EOL><INDENT>change = <NUM_LIT:0><EOL><DEDENT><DEDENT>else:<EOL><INDENT>change = <NUM_LIT:0><EOL><DEDENT>rank_details = {<EOL>'<STR_LIT>': abbreviation,<EOL>'<STR_LIT:name>': name,<EOL>'<STR_LIT>': int(rank),<EOL>'<STR_LIT>': int(week),<EOL>'<STR_LIT:date>': date,<EOL>'<STR_LIT>': previous,<EOL>'<STR_LIT>': change<EOL>}<EOL>weekly_rankings.append(rank_details)<EOL><DEDENT>self._rankings[int(week)] = weekly_rankings<EOL>
Retrieve the rankings for each week.

Find and retrieve all AP rankings for the requested year and combine
them on a per-week basis. Each week contains information about the
name, abbreviation, rank, movement, and previous rank for each team
as well as the date and week number the results were published on.

Parameters
----------
year : string
    A string of the requested year to pull rankings from.