<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _find_games(self, week, year, end_week):
 """ Retrieve all major games played for a given week. Builds a URL based on the requested date and downloads the HTML contents before parsing any and all games played during that week. Any games that are found are added to the boxscores dictionary with high-level game information such as the home and away team names and a link to the boxscore page. Parameters week : int The week number to pull games from. year : int The 4-digit year to pull games from. end_week : int (optional) Optionally specify an end week to iterate until. All boxscores starting from the week specified in the 'week' parameter up to and including the boxscores specified in the 'end_week' parameter will be pulled. If left empty, or if 'end_week' is prior to 'week', only the games from the day specified in the 'date' parameter will be saved. """

        if not end_week or week > end_week:
            end_week = week
        while week <= end_week:
            url = self._create_url(week, year)
            page = self._get_requested_page(url)
            games = page('table[class="teams"]').items()
            boxscores = self._extract_game_info(games)
            timestamp = '%s-%s' % (week, year)
            self._boxscores[timestamp] = boxscores
            week += 1