I'm looking for a word/phrase that would describe a dishonest politician. Example: "He is a ___ ." Maybe something idiomatic or colloquial.
In the US at least, a common term is "crook". While this is actually slang for any criminal, it is often applied to politicians because of former president Richard Nixon's infamous claim, "I am not a crook!"
Which turned out to be a boldfaced lie, but that's a long story.
(Edit) More recently, during his election campaign, current President Donald Trump frequently referred to his opponent as "Crooked Hillary", to foster the impression that she used her political position for personal gain. Which is not meant to imply it is or is not a valid claim, only that the term "crook" is still in use.
I don't know of a single word for dishonest politicians. Usually we use an adjective. Khan's answer has good examples ("crooked" and "corrupt").
There are derogatory words for some kinds of politicians:
Carpetbagger: A political candidate who seeks election in an area where they have no local connections. (Meaning they move to a place so they can run for office there.)
Apparatchik: A blindly devoted official, follower, or member of an organization (such as a corporation or political party). (This doesn't have to be a politician, but can be.)
Chickenhawk: A person who speaks out in support of war yet has avoided active military service. (This doesn't have to be a politician, but can be.)
Try political hack. That has negative connotations, and unfortunately seems to describe most modern-day politicians.
If you want a single-word synonym, politico might serve. From Oxford Dictionaries:
A politician or person with strong political views.
On the other hand, if you want a more colorful phrase, snake oil salesman is frequently used. This specifically means someone who is selling or promoting something (originally medicinal) that they know is useless, but it seems to come up very often today in the realm of politics.
There is a good discussion of the history of "snake oil" in NPR's Code Switch, which notes:
Because the words "snake oil" are so evocative, it has been a favorite go-to phrase for politicians and lobbying groups on both sides of the aisle. Earlier this month, Kentucky Sen. Mitch McConnell called his opponent in the Republican primary, Tea Party candidate Matt Bevin, a snake oil salesman in a campaign mailer. While campaigning for a second term last year, President Obama referred to the Romney-Ryan tax plan as "trickle-down snake oil" at a rally. In 2008, the Natural Resources Defense Council Action Fund took out full-page ads in The Washington Post to denounce then-President George W. Bush's plan to drill in the Arctic National Wildlife Refuge, calling it "100 percent snake oil."
Note that politico literally means politician with negative overtones, but snake oil salesman means specifically a dishonest politician. This is a subtle but important distinction; one suggests that essentially anyone engaged in politics is somehow tainted, while the other leaves room for the possibility that some politicians are honest.
In fact, the former view is widespread enough in the US that politician itself is now vaguely insulting. For example:
'You're a politician?' She's surprised by the distaste she hears in her own voice. She's never met a politician before. Hadn't ever thought she would want to. —Alex Marwood, The Killer Next Door
You gross lout, you mindless slave
You caterpillar of the commonwealth, you politician
You worshiper of idiots
—Excerpted from a list of insults, Alex Barton, Style for Actors
noun. Slang. One, especially a politician, who is guided by personal advantage rather than by consistent, respectable principles. (source)