could be the battery, could be the starter motor, could be the main earth strap, could be a dodgy connection at the battery or starter motor.
a scrapyard starter motor is usually £25-30 if you remove it yourself.
try hitting your starter motor with a hammer to see if it works, if it does you know the problem is the starter motor solenoid sticking. sometimes you can fix that with a bit of a cleanup and then some grease.