Fairy liquid(not any other) is very good at removing oil stains .Try putting a little on neat, let it soak in and then scrub with an old toothbrush.It's always the cream carpet that gets it. Good luvk.
Get some of the stuff that mechanics use to clean their hands I think its called swarfega(cant spell it) rub a little bit into the oil gently untill you see the oil lifting dab with kitchen paper and repeat if necessary, once the oil has gone wash the area with warm water and a drop of washing up liquid.