Lots of places like B&Q have Rug Doctor. You'll ususally find it advertised around the Customer Service desk or behind the checkouts.
I used one a few years ago, got if from Homebase. Can't remember how much it cost but it does carpets and apholstery.
The filth of the water that results is frightening.
It works on medium or deep pile carpets and is a waste of time on really short pile carpet.
One word of warning though, only use it on old carpets. When carpets are made the fabric is coated with a special dirt resistant substance. This resists the dirt and keeps the carpet cleaner, for longer. However, strong cleaners such as Rug Doctor have a tendency to removed this substance. As a result, you'll find you carpet getting dirtier faster after you've used Rug Doctor. Not a big deal with older carpets but work keeping mind if the carpet is fairly new.