Is there a public list anywhere on the web of IP addresses that have been identified as comment spammers?
For comment spam, have you tried Akismet (written by the wordpress crew)? They have an API which you could use (if you're not using wordpress) and is $18 a year for a personal blog or $5 a month if you make money from it, so it's a bit of a deal.
Edited for danlefree's comment
I guess the free and up to 10,000 pageviews a month could be considered donationware as you can select how much you want to pay. If you select any of the checkboxes it puts a mandatory price on it.
In addition to the other recommendations, I would also check Project Honeypot, it allows you to check by the IP address of the request if they have exhibited malicious activity in the past (the lookup is performed using a DNS query).
You can also contribute to the project by creating a honey pot (it is a page on your site that you link to through other pages which is not visible to your users) which will track harvesters.
another option is http://defensio.com/ Only discovered this the other day so I am not sure how it measures up in catch rate etc against akismet..