There are a couple options when it comes to getting samples for analysis.
Scraping
This one is extremely common and is what is used by a lot of researches to build sample databases.
Recommendation: You could build your own scraper of common sources or build upon ones like:
https://github.com/technoskald/maltrieve
Malware Farms
Other researches will at times allow access to their collections. An example of this is malware.lu
Recommendation: Try requesting access to malware.lu and similiar repos. Check the list at the bottom for more. This is a great way to get access to a lot of samples fast.
Honeypots
Researchers can use server and client side honeypots to try and collect malware.
Recommendation:
Checkout http://dionaea.carnivore.it/ for a server side honeypot. These are great for collecting self propagating malware.
Checkout https://github.com/buffer/thug for a client side honeypot.
Manually
You can browse the shady portions of the internet and look for samples yourself.
This is pretty much the standard list of sample sources:
http://www.kernelmode.info/forum/viewtopic.php?f=16&t=308
Each one of the above samples has its own pros and cons. Recommend you play with each to find out which produces what you need.