Ruby, 260 256 characters
require'net/http';require'nokogiri';i=0;`mkdir Search`;`cd Search`;N=Net::HTTP
Nokogiri::HTML.parse(N.get"www.google.cz","/search?"+URI.encode_www_form(q:gets,num:20)).css(".r a").each{|e|File.open("#{i+=1}",?w)<<N.get(URI e['href'][/q=(.*?)&/,1])rescue 0}
Note: when testing this multiple times, be sure to add `cd ..`
between each test to reset the current working directory lest you end up with whatever/Search/Search/Search/Search...
If we are allowed to fail on first unsuccessful result, we can drop rescue 0
at the end of the second line and save 8 characters.
if we may assume input is alphanumeric and a single word, we can skip encoding and shave off some more characters. (235 chars with error recovery, 227 without)
require'net/http';require'nokogiri';i=0;`mkdir Search`;`cd Search`;N=Net::HTTP
Nokogiri::HTML.parse(N.get"www.google.cz","/search?num=20&q="+gets).css(".r a").each{|e|File.open("#{i+=1}",?w)<<N.get(URI e['href'][/q=(.*?)&/,1])}