I've taken out some very bad stains (coke, tea, tomato, red wine, blood, emesis, other miscellaneous bodily fluids) with Tide HE laundry detergent. Clean it with water first to remove loose stuff and all other chemicals that can kill the enzymes, then pat dry. Apply the Tide full strength and let set for at least an hour, more is better, overnight is perfect, covered with a piece of plastic wrap to keep it moist. In addiiton to having some advanced detergents, the Tide has "enzymes" that have the ability to "eat" all manner of stains, including stains that chlorine bleach won't touch. Use an extractor with clean cool water to pull out the Tide. The only downside to using the Tide is that in many cases with old carpeting it will leave a clean spot that makes the rest of it look bad. Depending on the state of the carpeting, you might have to plan ahead for that and treat a larger area. Alternatively if you have time, you could test on a small spot to see whether it's going to work or not. Make sure you find the "HE" type detergent because it has the most enzymes and it's very low sudsing, making extraction quicker.