code: def parse_clubs(self, clubs_page):
      
      character_info = self.parse_sidebar(clubs_page)
      second_col = clubs_page.find(u'div', {'id': 'content'}).find(u'table').find(u'tr').find_all(u'td', recursive=False)[1]
  
      try:
        clubs_header = second_col.find(u'div', text=u'Related Clubs')
        character_info[u'clubs'] = []
        if clubs_header:
          curr_elt = clubs_header.nextSibling
          while curr_elt is not None:
            if curr_elt.name == u'div':
              link = curr_elt.find(u'a')
              club_id = int(re.match(r'/clubs\.php\?cid=(?P<id>[0-9]+)', link.get(u'href')).group(u'id'))
              num_members = int(re.match(r'(?P<num>[0-9]+) members', curr_elt.find(u'small').text).group(u'num'))
              character_info[u'clubs'].append(self.session.club(club_id).set({'name': link.text, 'num_members': num_members}))
            curr_elt = curr_elt.nextSibling
      except:
        if not self.session.suppress_parse_exceptions:
          raise
  
      return character_info
docs: Parses the DOM and returns character clubs attributes.
  
      :type clubs_page: :class:`bs4.BeautifulSoup`
      :param clubs_page: MAL character clubs page's DOM
  
      :rtype: dict
      :return: character clubs attributes.