code: def get_coauthors(self):
          
          url = self.xml.find('coredata/link[@rel="coauthor-search"]').get('href')
          xml = download(url=url).text.encode('utf-8')
          xml = ET.fromstring(xml)
          coauthors = []
          N = int(get_encoded_text(xml, 'opensearch:totalResults') or 0)
  
          AUTHOR = namedtuple('Author',
                              ['name', 'scopus_id', 'affiliation', 'categories'])
  
          count = 0
          while count < N:
              params = {'start': count, 'count': 25}
              xml = download(url=url, params=params).text.encode('utf-8')
              xml = ET.fromstring(xml)
  
              for entry in xml.findall('atom:entry', ns):
  
                  given_name = get_encoded_text(entry,
                      'atom:preferred-name/atom:given-name')
                  surname = get_encoded_text(entry,
                      'atom:preferred-name/atom:surname')
                  coauthor_name = u'{0} {1}'.format(given_name, surname)
  
                  scopus_id = get_encoded_text(entry,
                      'dc:identifier').replace('AUTHOR_ID:', '')
  
                  affiliation = get_encoded_text(entry,
                      'atom:affiliation-current/atom:affiliation-name')
  
                  # get categories for this author
                  s = u', '.join(['{0} ({1})'.format(subject.text,
                                                     subject.attrib['frequency'])
                                 for subject in
                                 entry.findall('atom:subject-area', ns)])
  
                  coauthors += [AUTHOR(coauthor_name, scopus_id, affiliation, s)]
              count += 25
  
          return coauthors
docs: Return list of coauthors, their scopus-id and research areas.