To find train schedules for almost all of Europe, use the Bahn (German Rail) website http://reiseauskunft.bahn.de/bin/query.exe/en, following Rick's tutorial: http://www.ricksteves.com/travel-tips/transportation/trains/online-schedules
When I do this and put in "San Sebastian" to "Bordeaux-St-Jean" (Bordeaux's main station), I see one connection per day taking 3H 45m, leaving San Sebastian at 13:26 and getting to Bordeaux at 17:11. They also show one involving spending the night in the Hendaye station, which I'd avoid.
I didn't look at buses, but I'd start with Rome 2 Rio to find the companies, then check with the companies directly for the latest info: http://www.rome2rio.com/