Have you looked at this?
http://netsecurity.about.com/od/informationresources/a/How-To-Prevent-Strangers-From-Following-You-On-Twitter.htm
Specifically, these steps:
To control who can follow you and see your tweets, enable Twitter's "Protect my tweets" option. Here's how to do it:
1. Click the gear icon at the top right-hand corner of the your Twitter page and choose the "Settings" menu item.
2. In the "Account Section", scroll down to the "Tweet privacy" section.
3. Check the box that reads "Protect my tweets" and click the "Save Changes" button at the bottom of the screen.
According to Twitter support, after you protect your tweets, the following restrictions are put in place:
People will have to request to follow you; each follow request will need approval.
Your Tweets will only be visible to users you've approved.
Other users will not be able to retweet your Tweets.
Protected Tweets will not appear in Twitter search or Google search.
@replies you send to people who aren't following you will not be seen by those users (because you have not given them permission to see your Tweets).
You cannot share permanent links to your Tweets with anyone other than your approved followers.
Now this looks like an all or none deal; perhaps effective, but not efficient - because with this you'd deny all, except for the ones you selectively allow! So the solution would be for someone to identify a follower as a bot and let you add to your no-no list.
Botmaker could be the answer:
https://gigaom.com/2014/08/20/twitter-details-its-anti-spam-system-botmaker/
OR, you can harvest a known spammers list and programmatically drop association attempts from those unwelcomed guests. Below site seems to be a good starter:
http://fakers.statuspeople.com/Fakers/Wall
Hope you find a good way to stay away from those nasty spams.. Good Luck!
~@~