There are only two components that can go wrong here. The battery or the starter. Before you touch the starter, get the battery checked. I am confident that the battery is the problem in this case. Loan a battery and switch to it when problem arise. If it starts then its clearly battery problem. If car still does not start then try pouring water over the starter motor solenoid (small cylinder like part attached to starter motor) and ask someone to start. If this resolves the problem then its sticking solenoid, just get it serviced. It gets carbon deposit inside which any electrician will clean it throughly with petrol and apply thin layer of engine oil over the solenoid piston. Another culprits can be the bushes inside the starter but first thing first check the battery.