A few movements at Westbury start at the west/south end and disappear into the distance but most pass through the station.
Bristol TM has a few freight movements to and from Portbury and, of course, regular and frequent passenger services.
Beyond Bristol there is a station at Pilning at the entrance to the Severen Tunnel. It sees two trains actually stop there per week, both on Saturdays. That means it is quiet (very quiet!) but it's also a bit isolated. It sees 2 HSTs per hour each way and 2 Taunton/Cardiff per hour each way plus some freight.
Then you have Bristol Parkway. There's a small depot which may/may not have some locomotives. The trouble I find is access and the cost of access of driving. So I tend to go a little on the London side to a place called Ram Hill. This should be a map
https://goo.gl/maps/dy8kl you can walk down Broad Lane but it may be 3/4 mile to a spot where you can see the trains or you can follow the footpath to the footbridge over the railway.
Two websites might be of interest.
www.uksteam.info has a sectionon steam tours. Care is needed because he lists everything that is planned and they don't all run. A couple of days before the run he posts the planned times (but sometimes the times appear very late).
www.realtimetrains.co.uk needs a little getting used to. It lists every train on the network (with the exception of the Royal Train and one or two exceptional specials like that). The problem with the freight side is that the traffic can be a bit unpredictable so a train may be listed but not run. It's not easy to explain but use the advanced search and then click on FRGT or the headcode and it will show you the actual time the train passed a point which is very useful if you're waiting for something. It has its' quirks. I live near Castle Cary and there have been a few occasions when a train has departed Westbury and then disappeared. It has always been because it was planned to run down the main but was sent into Frome and the system loses it until it reappears on the main where it was supposed to run.