an unprincipled but shrewd person
About the word:
The story of its origin remains unknown, but snollygoster was first used in the nasty politics of 19th century America. One definition of the word dates to 1895, when a newspaper editor explained "a snollygoster is a fellow who wants office, regardless of party, platform or principles...."
Source: Merriam-Webster Online, Top 10 rare and amusing insults