def parse_suggestions(soup):
    """Suggests similar/related companies to query"""
    selector_comps = {'class': 'companyData'}
    companies = soup.findAll('div', selector_comps)

    def is_exact_match(c):
        """Determines if this company suggestion has an [exact match]
        html label or whether its name matches the company name the
        user searched for
        """
        selector_exact = {'class' : 'chickletExactMatch chicklet'}
        searched_name = soup.findAll('input', {'name': 'sc.keyword'})[0]['value']
        actual_name = c.findAll('h3')[0].text
        names_match = searched_name.lower() == actual_name.lower()
        exact_tag = bool(c.findAll('i', selector_exact))
        return exact_tag or names_match

    def parse_suggestion(c):
        return {
            'name': c.findAll('h3')[0].text,
            'uri': c.findAll('a')[1]['href'],
            'exact': is_exact_match(c)
            }
    
    suggestions = []
    for c in companies:
        try:
            suggestions.append(parse_suggestion(c))
        except IndexError as e:
            pass
            
    return suggestions
Suggests similar/related companies to query