docs: def _find_games(self, date, end_date):
          """
          Retrieve all major games played on a given day.
  
          Builds a URL based on the requested date and downloads the HTML
          contents before parsing any and all games played during that day. 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
          ----------
          date : datetime object
              The date to search for any matches. The month, day, and year are
              required for the search, but time is not factored into the search.
          end_date : datetime object (optional)
              Optionally specify an end date to iterate until. All boxscores
              starting from the date specified in the 'date' parameter up to and
              including the boxscores specified in the 'end_date' parameter will
              be pulled. If left empty, or if 'end_date' is prior to 'date', only
              the games from the day specified in the 'date' parameter will be
              saved.
          """
          # Set the end date to the start date if the end date is before the
          # start date.
          if not end_date or date > end_date:
              end_date = date
          date_step = date
          while date_step <= end_date:
              url = self._create_url(date_step)
              page = self._get_requested_page(url)
              games = page('table[class="teams"]').items()
              boxscores = self._extract_game_info(games)
              timestamp = '%s-%s-%s' % (date_step.month, date_step.day,
                                        date_step.year)
              self._boxscores[timestamp] = boxscores
              date_step += timedelta(days=1)