This is quite simple with a community extension.
I recommand Owebia Shipping 2 that's free and easy to configure. You can specify shipping price by :
-destination -customer group -product attributes (size, weight, categories, ...) -cart attributes (price, weight, qty, ...) etc.