After giving a good clean, you could try putting charcoal in and leaving it for a few days/ week, then try again with some new charcoal, it absorbs smells, worth a try.
p.s. I have used Febreze for smelly carpet (wet dog) but with milk,you have to get all the residue, especially the fat, washed out or it will smell for ever.
Once cleaned, leaving it in the sun for a few days helps drive the smell out.
If you need to find a tradesperson to get your job done, please try our local search below,
or if you are doing it yourself you can find suppliers local to you.
Select the supplier or trade you require, enter your location to begin your search.
Please select a service and enter a location to continue...
Are you a trade or supplier? You can create your listing free at DIYnot Local