If I may, let me combine the excellent advise of the others with some of my own.
How to tell for sure where the problem lies? Run a couple of voltage drop tests. Will take 5 min, tops.
First, if you don't have one, get a multimeter. Every mechanic and/or weekend warrior needs one.
Connect the meter to the battery POSTS, not the cable clamps, and check voltage. Should be 12.54 at 72 deg, less at lower temp, but above 12.3 at any temp. Turn key to start mode, voltage should stay above 10V. If less, recharge or replace battery.
Next, check ground circuit. Connect meter leads to bat. neg post and starter motor housing. Makes no difference which lead goes where, just ignore neg. sign in meter reading if it occurs. But must have good metal to metal contact, use sharp probes, or clean paint as needed. Turn key to start position, meter should read less then .5v. If above, clean/tignten neg. connection points. You can locate which point is the problem by repeating the test at each such point in the circuit.
Now check the exciting circuit for the solenoid. (the black wire kubmech mentioned) Connect multimeter to this point and to POSITIVE battery post. Key to start position, meter should read less then 1.5v. If meter reads battery voltage, you have an open switch somewhere in the circuit. (safety switch, ignition switch, ect. Locate bad switch by repeating voltage drop test across each suspect. If voltage reading is between 1.5v and 3.0v, then the relay kit kubmech mentioned will probably be your best solution. But first, just for grins, remove and clean battery cable clamps. Must clean oxide layer off, use something that will scrape to bright metal on both posts and clamps.
If voltage drops so far are within specs (.5v on ground side, 1.5 on solenoid circuit), then go to heavy guage cable running from positive battery post to starter motor solenoid. Repeat test, key in start mode, one meter lead on positive battery post, one lead on UPPER heavy guage connection point at solenoid. Meter reading should be below .5v.
Finally, check the contact bar inside the solenoid. One meter lead to heavy guage connection at top of solenoid, the other lead to the lower one. Again, key in start mode, meter should read less then 1V.
If all checks good so far, the problem is in the starter inself.
Note that in voltage drop tests lower readings are good, higher readings are bad. Readings close to 0 indicate no problem, readings above 0, but less then 12V indicate high resistance, reading of 12V indicate an open circuit condition.
Also note that the number of connection or contact points in the circuit will affect the voltage drop readings. That's why a drop of 1.5v is acceptable in the solenoid exciting circuit, it has more places in the circuit where the current flow has to cross from one piece of metal to another. The usual rule of thumb is a drop of .3v across a switch and a drop of .1v across a connection point is acceptable.
Also note that all voltage drop tests are done with the circuit being tested in the loaded condition. (i.e. all starter tests are done with key in start position). This is one of the reasons drop tests are so valuable, they tell you what's going on under the actual conditions the circuit has to endure. Resistance tests with an ohm meter, on the other hand, will fool you.
HTH,
Dave