Pittsburgh, however, still hasn't seen the Diamondbacks' best starter over the past month.Randy Johnson will look for his sixth win in a row -- and the 294th of his career -- as Arizona goes for a three-game sweep of the visiting Pirates on Wednesday.Johnson (9-7, 4.35 ERA) missed the first two weeks of the season recovering from back surgery that forced him to sit out the final three months of 2007. Until the beginning of July, Johnson pitched as if his age -- he'll turn 45 before the end of the season -- was catching up with him. He was 4-7 with a 5.46 ERA through 15 starts, and had lost six straight decisions.Lately, however, Johnson has looked like a five-time Cy Young winner, even if he no longer has the devastating fastball that helped him win the award. He's won his last five starts, hasn't allowed an earned run or a walk in his last three, and his 1.39 ERA since July 6 is the lowest in the major leagues during that span.He allowed one unearned run over six innings -- striking out six -- on Friday, as the Diamondbacks (59-54) beat the Los Angeles Dodgers 2-1, putting Johnson within seven wins of 300 for his career."My mechanics have fallen into place over the last three or four games and I'm able to throw all of my pitches over for strikes now and stay away from the big inning," Johnson said. "Throwing first-pitch strikes, I had some easy innings and it allowed me to stay out there."Johnson gave up five runs -- four earned -- and allowed five walks in 5 2-3 innings against the Pirates (51-62) on June 9 in a 5-3 loss. Since 1998, though, the left-hander is 8-4 with a 2.04 ERA and 130 strikeouts in 92 2-3 innings against Pittsburgh.The Diamondbacks' two aces have led them to the brink of a series sweep. Dan Haren allowed four runs for the first time in more than two months on Monday, but helped Arizona win 13-7. On Tuesday, Brandon Webb pitched his third complete game of the season, shutting Pittsburgh out for eight innings of a 3-1 victory, his major league-leading 16th.The Pirates' offense has scored the third-most runs in the NL, but has taken a major hit since trading outfielders Jason Bay and Xavier Nady. Pittsburgh has put up 17 runs in five games since Bay was dealt at the trading deadline, nearly 1.5 runs per game below its season average.The Pirates scored three runs when Jeff Karstens (1-0, 0.00) made his debut in black and gold on Friday, but that was more than enough for him to pick up his first NL win. Karstens, who came over from the New York Yankees in a deal for Nady and reliever Damaso Marte, pitched six innings at Wrigley Field, shutting down the NL's top offense in a 3-0 victory over the Chicago Cubs."They haven't seen me and I haven't seen them so they really had no idea how I was going to attack them," said Karstens, who gave up five hits. "They're a really good fastball hitting team and sometimes that's what you got to do to win."Pittsburgh has lost seven of eight at Arizona.