Buster Posey and Brandon Crawford homered, Tim Hudson pitched into the ninth and the San Francisco Giants beat the Los Angeles Angels 5-4 Saturday. Nori Aoki had two RBIs and Casey McGehee had three hits and drove in a run for the Giants, who won their fourth straight at home and eighth of 12 overall. Albert Pujols and Mike Trout homered in the same game for the 20th time with the Angels, who have lost four of six.