1999 gmc sierra sle 4×4 5.3

My check engine light is flashing, it has a miss awful throttle response, you can smell fuel from the exhaust and when the code is ran it shows it has a random misfire I have changed the spark plugs, plug wires and coil packs, could it be the spider injector or a crankshaft position sensor. I don’t want to keep throwing money at it hoping it will fix it. Please help