lakeland do a squirty can (looks a bit like a small fire extinguisher) of carpet cleaner which is great for removing small stains. it doesn't contain the 'brighteners' that some branded ones have in, which make the rest of the carpet look grubby. also, chemdry do something very similar but i don't know where you'd buy one of those from, the chap from chemdry gave us one when we had our carpets cleaned by them. i wouldn't recommend vanish carpet cleaner as although it gets the stain out, it does leave a very bright patch on the carpet.