code: def author_email(author):
      
      import re
      r = author.find('>')
      l = author.find('<')
  
      if l == -1 or r == -1:
          # fallback to regex match of email out of a string
          email_re = re.compile(r"""[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!"""
                                r"""#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z"""
                                r"""0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]"""
                                r"""*[a-z0-9])?""", re.IGNORECASE)
          m = re.findall(email_re, author)
          return m[0] if m else ''
  
      return author[l + 1:r].strip()
docs: returns email address of given author.
      If any of <,> sign are found, it fallbacks to regex findall()
      and returns first found result or empty string
  
      Regex taken from http://www.regular-expressions.info/email.html