For oil-based spills, use cornstarch or baking soda before blotting up as much as you can with a dry cloth. Then dampen the spot with warm water and blot it up with clean towels. After you have blotted away as much as you can, I recommend using Folex on the area.
At least once a year, you should be deep cleaning your area rugs. And I promise it's not time-consuming or difficult. Best of all, you can do it yourself and save tons of money by not having to a hire a professional.
I use the Hoover SmartWash Carpet Cleaner. It's as easy as vacuuming, though you move it a bit more slowly than you would a vacuum. It's so much better than having to rent one, haul it home and return it. We use ours all the time!