This website will help you (you can check in advance if somewhere takes Amex):
http://www.whoacceptsamex.co.uk/
Amex is more widely accepted than it used to be, I think largely due to the number of companies who issue corporate Amex cards to their staff. Larger business, especially hotels and restaurants don't want to lose out on the corporate "expenses" market.
As for Discover / Diners, forget it! Diners died a death in the UK last century. I had a corporate Diners many years ago but the scheme was abandoned as it was so restrictive as hardly anywhere accepted it!